マッスル・メモリー

筋肉エンジニアのブログ

URI

この記事を読んでわかること

  • URIとは何か
  • URLやURNとの違いは何か
  • 実際のURLの構文はどのような構造になっているのか

URIとは

URI(Uniform Resource Identifier)とは、直訳すると「統一リソース識別子」です。

リソースは前回、説明しましたが、「web上のありとあらゆる情報」のことです。

HTTPとは - バグですか?仕様ですか?筋肉です💪

なので、URIとは「web上の情報を統一的に識別するID」のことであり、それを用いるとリソースを一意に識別することができます。

URIとURLとURN

URIと似た用語でURL(Uniform Resource Locator)やURN(Uniform Resource Name)という用語もありますが、違いは以下のようになります。

URLは、リソースの場所を指し示すもの

URNは、リソースの名前を示すもの

URIは、URLとURNを総称する名前でリソースを識別するもの

URIの構文

http://takuma:pass@blog.example.jp:8000/search?q=test&debug=true#10
※ダミーです

このURIは次のように分けられます。

  • URIスキーム:http
  • ユーザ情報:takuma:pass
  • ホスト名:blog.example.jp
  • ポート番号:8000
  • パス:/search
  • クエリパラメータ:q=test&debug=true
  • URIフラグメント:#n10

URIスキーム:http

URIスキームは、そのURIが利用するプロトコルを示すのが一般的です。
この場合は、リソースにHTTPでアクセスできることを示します。

ユーザ情報:takuma:pass

ユーザ情報は、このリソースにアクセスする際に利用するユーザ名とパスワードからなります。

ホスト名:blog.example.jp

ホスト名はDNS(Domain Name System)で名前が解決できるドメイン名かIPアドレスで、 インターネット上で必ず一意になります。

ポート番号:8000

ポート番号は、このホストにアクセスするときのプロトコルで用いるTCPのポート番号を示します。 同じコンピュータ内で動作する複数のソフトウェアのどれが通信するかを指定します。

パス:/search

ホストの中でリソースを一意に示します。 このように、ホスト名とパスを組み合わせることで、あるリソースのURIが世界中で重複せず一意になります。

クエリパラメータ:q=test&debug=true

検索サービスや検索キーワードを渡す時など、クライアントから動的にURIを生成する時に利用します。

URIフラグメント:#n10

その前までの文字列で表現するURIが指し示すリソース内部の、さらに細かい部分を指定する時に利用します。

最後に

今回も前回に引き続き、「webを支える技術」をまとめました。
少しずつでも今まで理解していなかったweb関連の用語をアウトプットしていき、使いこなせるように続けていきます💪

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)