URIとは?URL・URNとの違いを分かりやすくまとめました【WEBの勉強】

WEB

こちらの記事は、Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) 山本 陽平 (著)の内容を読んで自分なりにわかりやすく要約したものです。

URIとは

URI (Uniform Resource Idetifier) とは、Web上でリソースを統一的に識別するIDです。Web上のデータを一意に定義する為の名前、という感じでしょうか。

URIとURL (Uniform Resource Locator) とはなにが違うの?と思う方が多いと思いますが、普段使うときは意味はほぼ同じと考えてよいです。エンジニアはあえてURIという言葉を使いますが、URLと言い換えても間違いではありません。

ではなぜ区別されているのか。正確にはURIは、URLとURNを総称する名前です。

URI=URL+URN

ということですね。

URN(Uniform Resource Name)についてはあまり聞きなじみがないと思いますので、もう少し深堀して、URL、URNについて一つずつ解説していきます。

URLとはなにか

URLは (Uniform Resource Locator) の略です。直訳すると、統一リソースの位置を示すものでしょうか。Webリソースの位置(場所)を示す情報として使われます。

わかりやすく言い換えると、「Webリソースの住所」ですね。

https://myantora.com/hogehoge/

のような文字列であらわされます。

ドメイン情報を含んでおり、ブラウザなどのクライアントからURLにアクセスすることにより、リソースを取得することができます。

URNとはなにか

URN (Uniform Resource Name)は、リソースに恒久的なIDを振るための仕組みとして考えられました。直訳すると、統一リソース名ですね。わかりやすく言い換えると「リソースの名前を示すもの」です。

ただ、URNというものはWeb上であまり聞いたことがない言葉だと思います。

URLの問題として、ドメインが変わってアクセスできなくなったり、サーバー障害などで変更されるということがあり、その問題に対応する(リソースをずっと変わらない名前で定義する)ためにURNの仕様が検討されました。

よく聞くURNの活用例としては、書籍のIDとして、ISBNがURNとして定義されています。

ISBNのURNの例

urn:isbn:1234567890123

ただしURNには、ドメインが含まれないため「Web上で取得できない」という問題と、「URLが十分永続的になっている」ということで一般的にはあまり使われてない(使う必要がない)というのが実情のようです。

要するに、URLが変更されないような仕組みを設計・構築することはエンジニアの設計努力で実現可能で、実質的にはURLにURNを含んだ状態(URI)にできる、ということです。

まとめ

URL、URN、URIについてまとめるとこのようになります。

  • URLとはリソースの場所を示すものである。
  • URNとはリソースの名前を示すものである。
  • URLとURNを総称してURIと呼ぶ。
  • URIとはリソースを識別するためのものである。
  • URLにはURNが実質的に含まれるので、URIをURLと読み替えても問題ない。

なんとなく理解できたでしょうか?僕自身もあまりわかってなかったので、この記事をまとめてみて、改めて理解を深められた気がします。

ではまた!

コメント

タイトルとURLをコピーしました