【ゆーあーるあい】
URI とは?
最終更新:
💡 リソースの「統一識別子」、URLを包む上位概念
Webページや書籍などのリソースを識別する文字列。URLもURIの一種で、対象はインターネットで取得できるものに限らない。
📌 このページのポイント
- Uniform Resource Identifier(統一リソース識別子)の略
- URLは場所やアクセス方法を示すURI。URNはurnスキームで永続的な名前を付けるURI
- https://example.com/path?key=value#sectionはURIの例
- 例の /users/1のような相対参照は、基準となるURIと組み合わせて解釈する
URIってURLと何が違うの?
ネット上のページだけが対象なの?
書籍なども識別できるよ。例えば「urn:isbn:0451450523」はISBNで書籍を指すURNで、これもURIの一種。名前が付いていても、必ずネットで取得できるわけではないんだ。
APIの「/users/1」もURIなの?
URIにはどんなパーツがあるの?
「https://example.com/path?key=value#section」なら、httpsがスキーム、example.comがホスト、/pathがパスだよ。?以降はクエリ、#以降はフラグメント。すべてのURIがこの形になるわけではないんだ。
日本語や空白を入れたいときは?
パスやクエリの値なら、文字のバイトを%XX形式で表すパーセントエンコードを使うよ。UTF-8の「東京」は「%E6%9D%B1%E4%BA%AC」になる。区切り記号までまとめて変換すると意味が変わるので、値と区切りを分けて考えよう。
もっと詳しく知りたい人へ
フラグメントは必ずページ内の見出しを指す?
Webページではページ内の位置を指す例がよくありますが、それだけではありません。フラグメントの意味は対象データの形式によって決まります。
📖 おまけ:英語の意味
「Uniform Resource Identifier」 = 統一リソース識別子
💬 Uniformは統一的、Resourceは識別する対象、Identifierは識別子という意味だよ。共通の構文はRFC 3986で定義されているんだ