URLとURIについて
URLと違いが分かりづらいURIについて整理しました。
URL
URLとは
URLはブラウザがサーバーにコンテンツを要求するときに使う、コンテンツの場所を示すものである。Uniform Resource Locationの略。
ブラウザの検索バーに閲覧したいページのURLを入力することによって、リソースがあれば、該当のページを見ることができる。
コンピュータがネットワークに接続される前は、コンピュータに保存されているファイルの名前をそのコンピュータの中で区別できるものにしておけば問題なかった。しかしインターネットの普及によって不特定多数の人が様々なコンテンツを公開するため、URLのようなコンテンツの場所を一意の名前にすることができる物が必要になった。
もしURLがなければ、単なるコンピュータ上のファイル名だけになるので、区別が難しくなる。
構造
URLの構造は以下のようになっている。
例 http://www.example.com:80/directory/index.html
スキーム ドメイン名 ポート番号 パス名
スキーム
httpの部分がスキームという。スキームとはリソースを取得する方法を表す。
例のURLであれば、http通信でリソースをやり取りすることになる。
HTTPについてはこちらの記事
webアプリケーションにおいてはほとんどの場合、httpかhttpよりセキュリティが安全のhttpsを使用する。
ドメイン名
www.example.comの部分がドメイン名という。ドメイン名はリソースが存在するネットワークに接続されたコンピュータの名前を表す。
簡単に言えば、リソースがどのwebサーバーに置かれているかを示すもの。
ドメイン名はさらにwwwの部分をローカル名、example.comの部分を親ドメイン名に分かれる。親ドメイン名はドメインが存在する組織を表し、ローカル名がその組織の中のコンピュータにつけられた名前を表す。
ドメイン名はIPアドレスに変換することができる。
IPアドレスについてはそのうち記事を書きます。
ポート番号
80の部分がポート番号という。ポート番号とはURLで探しだしたコンピュータの中の宛先を決定するもの。コンピュータをマンションとしたらIPアドレスが住所で、ポート番号は部屋番号のようなもの。
httpではデフォルトで80番が入るため、省略が可能である。
パス名
directory/index.htmlの部分がパス名。パス名はドメインで指定されたコンピュータ上のリソースの位置を示す。例であれば、directoryというディレクトリの下にあるindex.htmlというファイルを示す。
URI
URIとは
URIとは、Uniform Resource Identifierの略で、URLとURNを合わせたもの。
つまり、URI = URL + URN
URNとは、Uniform Resource Nameの略でそのままの通りリソースの名前を表す。
要するにURIはリソースの場所と名前を表す。URLはインターネット上の住所のようなものであるため、リソースが置かれている場所が変わってしまうと使えなくなる。それに対してURNはリソースそのものの名前を表すため、場所が変わったとしても関係なく使用できる。
URLとURIの違い
URL と URI の違い - Qiitaを参考にしたが、これといった違いはなくほぼ同じものとして使っても問題ないみたい。
まとめ
URLを利用することで、ドメイン → コンピュータ → ディレクトリ → ファイルというように階層的にコンテンツの位置を指定できるため、コンテンツの名前が一意のものとなり、他のコンテンツの場所とかぶらないようにできる。
参考