URIとは?Uniform Resource Identifierの基本と使い方
URI(Uniform Resource Identifier)は、インターネット上のリソースを一意に識別するための文字列です。
URIにはURL(Uniform Resource Locator)やURN(Uniform Resource Name)が含まれ、ウェブページのアドレス指定、APIのエンドポイント設定、ファイルへのパスなど多岐にわたる用途で使用されます。
正確なURIを使用することで、リソースへのアクセスや管理が容易になり、ネットワーク上でのコミュニケーションが円滑に行えます。
URIの基本
URI(Uniform Resource Identifier)は、インターネット上でリソースを一意に識別するための標準的な方法です。
リソースとは、ウェブページ、画像、動画、データベースのエントリなど、インターネット上でアクセス可能なあらゆるものを指します。
URIは、リソースへのアクセスや参照を容易にし、異なるシステムやプラットフォーム間での情報交換を可能にします。
URIは1994年にIETF(Internet Engineering Task Force)によって標準化され、後にRFC 3986として公開されました。
この標準により、URIは一貫した構文とルールに基づいて構築されるようになり、インターネット全体での互換性が確保されました。
URIは主に以下の2つのカテゴリーに分類されます:
- URL(Uniform Resource Locator): リソースの場所を示し、アクセス方法を含む。
- URN(Uniform Resource Name): リソースの名前を示し、位置に依存しない一意の識別子を提供する。
このように、URIはインターネット上でのリソースの識別とアクセスを支える基盤技術として、ウェブの運用やデータ交換において不可欠な役割を果たしています。
URIの構成要素
URIは複数の構成要素から成り立っており、各要素が特定の情報を提供します。
以下に、URIの主な構成要素を詳しく説明します。
スキーム(Scheme)
スキームは、リソースへのアクセス方法や使用するプロトコルを指定します。
一般的なスキームには以下のようなものがあります:
http: HyperText Transfer Protocolhttps: HTTP Secureftp: File Transfer Protocolmailto: 電子メールアドレスfile: ローカルファイルシステムへのパス
https://www.example.comここでは、httpsがスキームです。
ユーザー情報(User Information)
ユーザー情報は、ユーザー名やパスワードなどの認証情報を含むことができます。
ただし、セキュリティ上の理由から、ユーザー情報を含めることは一般的ではありません。
ftp://username:password@ftp.example.comここでは、username:passwordがユーザー情報です。
ホスト(Host)
ホストは、リソースが所在するサーバーのドメイン名またはIPアドレスを示します。
https://www.example.comここでは、www.example.comがホストです。
ポート(Port)
ポート番号は、サーバー上で特定のサービスやアプリケーションを識別するために使用されます。
省略された場合、スキームに対応するデフォルトのポートが使用されます。
http://www.example.com:8080ここでは、8080がポート番号です。
パス(Path)
パスは、ホスト内の特定のリソースへの階層的な位置を示します。
通常、ディレクトリ構造に基づいています。
https://www.example.com/path/to/resourceここでは、/path/to/resourceがパスです。
クエリ(Query)
クエリは、リソースに対する追加のパラメータやフィルターを指定するために使用されます。
通常、?に続くキーと値のペアで構成されます。
https://www.example.com/search?q=URIここでは、q=URIがクエリです。
フラグメント(Fragment)
フラグメントは、リソース内の特定の部分を指し示します。
通常、#に続いてセクションや見出しを指定します。
https://www.example.com/page#section1ここでは、#section1がフラグメントです。
完全なURIの例
上記の要素をすべて組み合わせた完全なURIの例は以下の通りです:
https://username:password@www.example.com:8080/path/to/resource?query=example#fragmentこのURIは、HTTPSプロトコルを使用し、www.example.comサーバーの8080ポートにある/path/to/resourceというパスのリソースにアクセスし、query=exampleというクエリパラメータを含み、fragmentというフラグメントで特定の部分を指し示しています。
URIの使用方法
URIはインターネット上で多岐にわたる用途で使用されており、その主な使用方法について以下に説明します。
ウェブブラウジング
最も一般的なURIの使用方法はウェブブラウザを通じたウェブページのアクセスです。
ユーザーがブラウザのアドレスバーにURL(URIの一種)を入力することで、対応するウェブページが表示されます。
https://www.wikipedia.org/APIアクセス
多くのウェブAPIは、URIを使用して特定のデータや機能にアクセスします。
APIリクエストは通常、特定のエンドポイントURIに対して行われ、必要なパラメータをクエリとして含みます。
https://api.example.com/v1/users?limit=10リンクの埋め込み
ウェブページや電子メール、ドキュメント内で他のリソースへのリンクを埋め込む際にURIが使用されます。
これにより、ユーザーは簡単に関連情報にアクセスできます。
[OpenAI公式サイト](https://www.openai.com/)リソースの識別
URN(Uniform Resource Name)はURIの一種であり、特定のリソースの名前を一意に識別するために使用されます。
例えば、ISBN番号などがURNとして利用されます。
urn:isbn:0451450523ファイルシステムへのアクセス
ローカルファイルやネットワーク上のファイルへのアクセスにもURIが使用されます。
fileスキームを用いることで、ローカルファイルシステム上のリソースを指定できます。
file:///C:/Users/Example/Documents/report.pdf電子メールリンク
mailtoスキームを使用することで、電子メールアドレスへのリンクを作成できます。
これにより、ユーザーがリンクをクリックするとメールクライアントが開き、新しいメール作成画面が表示されます。
mailto:someone@example.comODataなどのデータアクセス
データベースやデータサービスへのクエリとしてURIが使用されることもあります。
これにより、特定のデータセットやリソースに対して精密な問い合わせが可能になります。
https://services.odata.org/V4/OData/OData.svc/Products?$filter=Price lt 20ソーシャルメディアと共有
ソーシャルメディアプラットフォームでは、投稿やコンテンツへのリンクとしてURIが頻繁に使用されます。
これにより、ユーザー同士が簡単にコンテンツを共有できます。
https://twitter.com/example/status/1234567890URIはこのように、多方面で重要な役割を果たしており、インターネットの基盤を支える不可欠な要素となっています。
URIとURL・URNの違い
URI、URL、URNはしばしば混同されることがありますが、それぞれ異なる概念を表しています。
以下に、これらの違いを明確に説明します。
URI(Uniform Resource Identifier)
URIは、インターネット上でリソースを一意に識別するための汎用的な識別子の総称です。
URIは、リソースの位置(URL)や名前(URN)を示すことができます。
URL(Uniform Resource Locator)
URLは、URIの一種であり、リソースの「場所」と「アクセス方法」を具体的に示します。
URLはスキーム(プロトコル)とホスト、パス、場合によってはポート番号やクエリパラメータを含みます。
https://www.example.com/index.htmlここでは、httpsがプロトコル、www.example.comがホスト、/index.htmlがパスを示しています。
URN(Uniform Resource Name)
URNもURIの一種であり、リソースの「名前」を一意に識別します。
URNは位置に依存せず、リソースの恒久的な識別子として機能します。
URNは特定の名前空間を使用して構築されます。
urn:isbn:0451450523ここでは、isbnが名前空間、0451450523が具体的なリソース(書籍)の識別子です。
主な違いのまとめ
| 項目 | URI | URL | URN |
|---|---|---|---|
| 定義 | リソースを一意に識別するための識別子 | リソースの場所とアクセス方法を示す識別子 | リソースの名前を一意に識別する識別子 |
| 構成要素 | スキーム、ホスト、パス、クエリ、フラグメントなど | スキーム、ホスト、パス、ポート、クエリなど | スキーム、名前空間、識別子 |
| 例 | https://www.example.com | https://www.example.com/index.html | urn:isbn:0451450523 |
| 用途 | 広範なリソース識別 | ウェブブラウジングやリソースへのアクセス | 永続的なリソースの名前付け |
関係性
- URIはURLとURNを包含する概念です。すべてのURLおよびURNはURIの一種ですが、すべてのURIがURLやURNであるわけではありません。
- URLはリソースの具体的な位置を示し、URNはリソースの恒久的な名前を示すため、それぞれ異なる目的で使用されます。
実際の使用例
- ウェブページへのリンクは通常URLで表現されます。
https://www.example.com/about- 書籍の国際標準図書番号はURNとして使用されます。
urn:isbn:978-3-16-148410-0このように、URI、URL、URNはそれぞれ異なる役割を持ちながら、インターネット上でのリソース識別において重要な役割を果たしています。
まとめ
この記事を通じて、URIの基本とその構成要素、使用方法、そしてURLやURNとの違いを確認しました。URIはインターネット上のリソースを識別しアクセスする上で重要な役割を果たしています。今後は、この記事を参考にしてURIを適切に利用してください。