WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

URLとURIの違い

   

URLはURIに包含される概念

URLは”Uniform Resource Locator”の略です。
一般的に”http://linuxserver.jp/category/linux”のような書式の文字列はURLと呼ばれます。

ただ、ドキュメントなどでURIという表記も見かけたりします。
URIは”Uniform Resource Name”の略のようですが、これはURLとどう違うのか疑問に思ったりもします。

結論から言えば、他のサイトでもよく言われているようにURLはURIの部分集合です。
URIは直訳すると「統一資源位置指定子」という意味で、リソースを特定するための表記規則の総称であると言えます。
一方URLはURIという表記規則の枠組みの中で、リソースの「場所」を特定する表記方法のことであるため、URIという概念に包含されていると言えます。

つまりURLとURIは同じ意味ではありませんが、”http://linuxserver.jp/category/linux”のような書式の文字列をURL・URIのどちらで呼んでも、間違いではありません。

概念自体はURLのほうがURIより古く、URLの考えかたを拡張してURIが考案されたようです。

また、URIという枠組みの中に、URL以外にURNという表記規則もありますが、これについては後述します。

URLの構造について

URLの例としては以下のようなものがあります。

http://linuxserver.jp/category/linux
mailto:dummy@linuxserver.jp
ftp://user:pass@ftp.linuxserver.jp/public

上記からわかるように、URLにはまずhttpやmailto,ftpなどの使用するプロトコルを宣言するスキーム名があり、その後に各々のスキームで定められた表記規則にしたがった部分的な表記が連続しているという構造になっています。

http://user:password@linuxserver.jp:80/category/linux?order=new#popular
\__/   \_____________________________/\_____________/ \_______/\______/
  |                  |                      |            |         |
scheme            authority                path        query   fragment

URNについて

URLがリソースの場所を識別するためのものであることに対して、URNはリソースの名前を識別するための表記法となります。
URNは下記のようにurn:スキームを用いてリソースの名前を表記します。

urn:isbn:4844327968

なお、このURNの場合”isbn:4844327968″の部分はパスです。

参考資料

 - SEO , ,