ページの作成:「== 概要 == <br><br> == クエリパラメータ == クエリパラメータを含めた文字列全体はURLである。<br> <br> 例: https://example.com/search.php?keyword=太郎&page=2&sort=desc#section1<br> <br> 上記のURLは以下のような構造に分解できる。<br> これら全ての要素を含めて、1つのURLとして扱う。<br> * スキーム (プロトコル) *: https:// * ホスト名 *: example.com * パス *: /search.php * クエリ文…」
 
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
URI (Uniform Resource Identifier) とは、インターネット上のリソースを一意に特定するための識別子であり、統一資源識別子と訳される。<br>
<br>
URIは、スキームと呼ばれる部分から始まる。<br>
例えば、https:// や ftp:// といったプロトコルである。<br>
<br>
このスキームの後に、実際のリソースを特定するための情報が続く。<br>
https://www.example.com:8080/path/to/resource?key=value#section<br>
<br>
上記の例では、httpsがスキーム、www.example.comがホスト名 (ドメイン名)、8080がポート番号を表す。<br>
その後のパス (/path/to/resource) は、サーバ上の特定のリソースの場所を示す。<br>
クエリパラメータ (?key=value) では追加の情報を渡しており、フラグメント (#section) は文書内の特定の場所を指定する。<br>
<br>
URIの重要な特徴は、柔軟性と拡張性である。<br>
インターネット上のあらゆるリソースを識別できるよう設計されており、Webページのアドレスだけでなく、メールアドレス (mailto:) やファイル共有プロトコル (ftp:) 等も表現できる。<br>
<br>
また、URIは人間が読める形式であることも特徴である。<br>
例えば、https://www.example.com/products/books というURIでは、exampleドメインの製品カテゴリーの中の書籍に関するページであることが推測できる。<br>
<br>
ただし、URIには制約もある。<br>
使用できる文字は限られており、特殊文字や空白等は適切にエンコードする必要がある。<br>
例えば、スペースは「%20」として表現される。<br>
<br><br>


== URI (Uniform Resource Identifier) ==
リソースを一意に識別するための文字列の形式である。<br>
URLとURNの上位概念として位置づけられる。<br>
<br>
URIは、以下に示す形式で表現される。<br>
<スキーム名>:<スキーム依存部分>
<br><br>
== URL (Uniform Resource Locator) ==
リソースの場所を指定する形式である。<br>
URIの一種であり、主に、Web上のリソースのアドレスを表現する。<br>
<br>
URLは、以下に示す要素で構成される。<br>
* スキーム (プロトコル)
* ホスト名
* ポート番号 (省略可)
* パス
* クエリパラメータ (省略可)
* フラグメント (省略可)
<br><br>
== URN (Uniform Resource Name) ==
リソースの名前を指定する形式である。<br>
場所に依存せず、永続的な識別子として機能する。<br>
<br>
例: ISBN番号やUUID等<br>
<br><br>
== URIとURLの違い ==
主な違いを以下に示す。<br>
* URLは、<u>どこにあるか</u>を示すものである。
* URNは、<u>何であるか</u>を示すものである。
* 全てのURLはURIであるが、全てのURIがURLというわけではない。
* URLは場所が変更されると機能しなくなる可能性があるが、URNは永続的である。
<br>
URIは識別子の大きな枠組みを提供しており、その中でURLは場所、URNは名前を指定する役割を果たす。<br>
<br>
==== URLの例 ====
https://www.example.com:8080/path/to/page?id=123#section1<br>
<br>
* スキーム
*: https
* ホスト名 (ドメイン名)
*: www.example.com
* ポート
*: 8080
* パス
*: /path/to/page
* クエリパラメータ
*: id=123
* フラグメント
*: section1
<br>
以下に示す記述もURLである。<br>
mailto:example@example.com<br>
<br>
* スキーム
*: mailto
* スキーム依存部分
*: example@example.com
<br>
mailtoは、以下に示す理由からURLに分類される。<br>
* リソースへのアクセス方法 (メールクライアントの起動) を指定している。
* 操作可能なアクション (メール送信) を提供している。<br>mailtoは、メールクライアントを起動するための操作的なスキームである。
* URNのような永続的な識別子ではなく、mailtoは通信手段を示している。
<br>
==== URN (URLではないURI) の例 ====
urn:isbn:0-486-27557-4<br>
<br>
* スキーム
*: urn
* 識別子タイプ
*: isbn
* 識別番号
*: 0-486-27557-4
<br>
以下に示す記述もURNである。<br>
# 書籍のISBN (ISBNは本を一意に識別する)
isbn:0-486-27557-4
# UUID (UUIDはグローバルにユニークな識別子)
uuid:550e8400-e29b-41d4-a716-446655440000
# 法人識別子 (LEIは金融機関を一意に識別する)
lei:969500P37YF46QNWK024
<br><br>
<br><br>