ある日のこと
突然ですが、「URL」と「URI」の違いをちゃんと説明できますか?
この前、会社でこんな会話を耳にしました。
先輩エンジニア「ここにリソースのURI貼っておいて〜」
後輩エンジニア「え、URLじゃなくて?」
先輩エンジニア「あれ、そうだっけ?どっちでもいいのかな?」
――出た!よくあるヤツ!
ぶっちゃけ、「U」シリーズ多すぎじゃない?と思いませんか?URL、URI、URN……そもそもUって何だよ、U!
まずはざっくり:URIとURLの違いを整理してみよう
「URI」は「Uniform Resource Identifier」の略で、「統一資源識別子」。一方、「URL」は「Uniform Resource Locator」、つまり「統一資源位置指定子」。
うん、なんだか呪文みたいでピンと来ませんね。
もっとシンプルに言うとこうです。
-
URI:リソースを一意に特定するための名前や識別子
- 例:社員番号、マイナンバー
- URL:リソースが「どこにあるか」を示す住所のようなもの
そう、実はURLはURIの一種。URIがファミリーだとすると、URLはその中の兄弟のひとりみたいな感じですね。
「URL以外のURI」ってどんなのがある?
では、URL以外のURIにはどんなものがあるかというと、「URN(Uniform Resource Name)」があります。URNは住所は示さないけれど、一意に特定する固有名詞を表しています。
たとえば、こんなのがURNです。
urn:isbn:978-4-87311-943-6
これは本を特定する番号ですが、具体的にその本がどこにあるかは示しません。ただ「これがその本だよ!」と示す識別子なんですね。
じゃあURNってisbnだけ?という疑問も当然出てきますよね。実は他にも色々あるんです。
ISBN以外のURNの例
- urn:uuid:123e4567-e89b-12d3-a456-426614174000
- ユニークID
- urn:issn:0167-6423
- 雑誌を識別する番号
ちなみに、URIにはURLとURNの他にも、将来的に新しい識別方法が追加される可能性もありますが、現状よく使われるのは主にこの2つです。
URL、やっぱり日常では大事!
普段の業務ではほぼURLを使いますよね。SNSリンク、会社のウェブページ、何をするにもまずURL。だからエンジニアにとって「URLを知る」というのはかなり基本的な作業になるわけです。
そんな「URL」を使うとき、ちょっとしたストレスになるのが画像の扱い。Webページの表示速度が遅い画像って困りますよね。「また重たい画像が……」とため息をついたり、手作業で最適化するのが地味に面倒だったり。
ここでサクッと宣伝させてください。僕が開発に関わった「Toolpods」というサービスには、エンジニアが地味に助かる便利ツールが色々あるんです。中でもおすすめは画像CDN。画像を簡単に軽量化してくれるサービスで、設定もシンプル。しかも毎月10万リクエストまで無料です。サイトやアプリの画像表示がサクサクになって、ユーザー体験も改善されますよ。
結局、URIとURLの違いって必要なの?
普段はURLだけ意識していれば大丈夫。でも、設計書やAPI仕様ではURIという言葉をよく使います。理由は単純で「場所」よりも「特定すること」が重要だから。
- URL:具体的な場所を示す。ここだよ!
- URI:場所は関係なく、特定できればOK!
細かい違いも、知ってるとちょっと嬉しい
URIとURLの細かな違いを知っているだけで、エンジニアとしてちょっとした自信になりますよね。次回、周りで「どっちだっけ?」なんて会話が出たら、さりげなく説明してドヤ顔しちゃいましょう。
まぁ、完璧に使い分けなくても仕事は回りますから、気楽にいきましょう。エンジニア人生、細かすぎると疲れますからね。
それでは今日もゆるく、いい感じにやっていきましょう!