| URL | |
|---|---|
| ユニフォームリソースロケータ | |
| 略語 | URL |
| 状態 | 出版 |
| 初版 | 1994 (1994年) |
| 最新バージョン | 生活水準2023 |
| 組織 | インターネット技術タスクフォース(IETF) |
| 委員会 | Webハイパーテキストアプリケーション技術ワーキンググループ(WHATWG) |
| シリーズ | コメント要求(RFC) |
| 編集者 | アンネ・ファン・ケステレン |
| 著者 | ティム・バーナーズ=リー |
| 基本基準 | |
| 関連規格 | URI、URN |
| ドメイン | ワールドワイドウェブ |
| ライセンス | CC BY 4.0 |
| Webサイト | url |
ユニフォームリソース ロケータ( URL ) は、口語的にはウェブ アドレス[ 6 ]と呼ばれ、ワールド ワイド ウェブ上のリソースへの参照です。URL は、コンピュータ ネットワーク上のリソースの場所と、そのリソースを取得するためのメカニズムを指定します。URL は、ユニフォーム リソース識別子(URI)の一種ですが[ 7 ] [ 1 ]、多くの人がこの 2 つの用語を同じ意味で使用しています。[ 8 ] [ a ] URL は、ウェブ ページ( HTTP / HTTPS ) を参照するために最もよく使用されますが、ファイル転送 ( FTP )、電子メール ( mailto )、データベース アクセス ( JDBC )、その他多くのアプリケーション にも使用されます。
ほとんどのウェブブラウザでは、ウェブページのURLがアドレスバーの上部に表示されます。ウェブページのURLの例として、https://www.example.com/index.htmlプロトコルhttps、ホスト名www.example.com、ファイル名が挙げられますindex.html。
ユニフォームリソースロケータは、1992年に開催されたIETFリビングドキュメント のバーズオブアフェザーセッションで始まった共同作業の成果として、ワールドワイドウェブの発明者であるティムバーナーズリーとインターネット技術タスクフォース(IETF)のURIワーキンググループによって1994年にRFC 1738 [ 10 ]で定義されました。 [ 11 ] [ 12 ]
このフォーマットは、既存のドメイン名システム(1985年に作成)とファイルパス構文を組み合わせたもので、スラッシュはディレクトリ名とファイル名を区切るために使用されます。サーバー名を二重スラッシュ( )で区切ることで、ファイルパスを完結させるという慣習は既に存在していました//。[ 13 ]
バーナーズ=リーは後に、 URI内でドメイン名の各部分を区切るためにドットを使用したことを後悔し、全体的にスラッシュを使用すればよかったと述べた。[ 13 ]また、URIの最初の構成要素の後にコロンが続くことを考えると、ドメイン名の前の2つのスラッシュは不要だったとも述べた。[ 14 ]
バーナーズ=リーを含む初期のWorldWideWeb協力者たちは、当初UDI(Universal Document Identifiers)の使用を提案しました。HTML仕様の初期(1993年)草案[ 15 ]では、「ユニバーサル」リソースロケータ(Universal Resource Locator)に言及されていましたが、1994年6月[ 16 ]から10月[ 17 ]の間に削除されました。バーナーズ=リーは 著書『Weaving the Web』の中で、当初の拡張において「universal」という語を「uniform」ではなく「universal」に含めていたことを強調し、後に「uniform」に変更された経緯についても簡潔に説明しています。
すべてのHTTP URLは、汎用URIの構文に準拠しています。汎用URI構文は、左から右へ重要度の降順で階層的に構成された5つの要素で構成されています。 [ 1 ]:§3
URI = スキーム ":" ["//" 権限] パス ["?" クエリ] ["#" フラグメント]
コンポーネントは、関連する区切り文字を持ち、その区切り文字がURIに現れない場合には未定義です。スキームコンポーネントとパスコンポーネントは常に定義されています。 [ 1 ]:§5.2.1 コンポーネントに文字がない場合、そのコンポーネントは空です。スキームコンポーネントは常に空ではありません。[ 1 ]:§3
権限コンポーネントはサブコンポーネントで構成されています:
権限 = [userinfo "@"] ホスト [":" ポート]
これを構文図で表すと次のようになります。
URI は次の要素で構成されます。
:、文字で始まり、文字、数字、プラス記号 (+)、ピリオド (.)、またはハイフン (で-あり、スキームを指定する文書は小文字で記述する必要があります。一般的なスキームの例としてはhttp、、、、、、などがAssignedNumbers Authority (IANA)に登録する必要がありますが、実際には登録されていないスキームも使用されていますhttps。 [ 18 ]ftpmailtofiledatairc//) で始まる権限コンポーネントは、次のもので構成されます。@) が続く形式は、ユーザー名コロン ( ) に続くオプションのパスワード:。userinfo サブコンポーネント内でこの形式を使用することは、、userinfo サブコンポーネント内の最初のコロン ( ) 以降のデータを、コロン以降のデータが空文字列 (パスワードなしを示す) でない限り、username:password平文としてレンダリングしないでください:[]。 [ 1 ] : §3.2.2 [ b ]:サブコンポーネント。10進数字で構成されます。/。URI に対してパスは常に定義されますが、定義されたパスは空 (長さ 0) になる場合があります。セグメントも空になる可能性があり、その場合は//パスコンポーネントに 2 つの連続したスラッシュ ( ) が含まれます。パスコンポーネントはファイルシステムパスが、必ずしもファイルシステムパスとの関係を意味するわけではありません。権限コンポーネントが定義されている場合、パスコンポーネントは空であるか、スラッシュ (/) で始まっている必要があります。権限コンポーネントが定義されていない場合、パスは空のセグメント、つまり 2 つのスラッシュ (//) で始まることはできません。これは、後続の文字が権限コンポーネントとして解釈されるためです。 [ 20 ] : §3.3 "http://www.example.com/questions/3456/my-document""/questions"の最初の部分であり、 はpathinfoという名前のパスの 2 番目の部分です。これは、要求されたドキュメントを選択するために、 という名前の実行可能モジュールまたはプログラムに渡されます。"/3456/my-document""/questions"| クエリ区切り文字 | 例 |
|---|---|
アンパサンド(&) | key1=value1&key2=value2 |
セミコロン ( ;) [ c ] | key1=value1;key2=value2 |
?)で始まり、クエリ文字列、属性と値のペアを区切り文字で区切ったシーケンスで構成されることが多いです。#構成要素。フラグメントには、URIの残りの部分で識別される記事内のセクション見出しなど、二次リソースへの方向を示すフラグメント識別子がHTMLドキュメントの場合、フラグメントはid属性で、ウェブブラウザはこの要素をスクロールして表示します。Web ブラウザは通常、指定されたホスト (デフォルトではポート番号 80) へのHTTP要求を実行することによって URL を逆参照します。このスキームを使用する URL では、要求と応答がWeb サイトへの安全な接続を介して行われることが必要です。 https
インターネットユーザーは世界中に分散しており、多様な言語とアルファベットを使用しているため、それぞれの地域のアルファベットでURLを作成できることを期待しています。国際化リソース識別子(IRI)は、 Unicode文字を含むURLの形式です。すべての最新ブラウザはIRIをサポートしています。URLの中で、異なるアルファベットに対応するために特別な処理が必要な部分は、ドメイン名とパスです。[ 23 ] [ 24 ]
IRIで示されるドメイン名は、国際化ドメイン名(IDN)と呼ばれます。Webおよびインターネットソフトウェアは、ドメイン名をドメインネームシステムで使用可能なPunycodeに自動的に変換します。例えば、中国語のURLは になります。 は、その文字が元々ASCII文字ではなかったことを示します。[ 25 ]http://例子.卷筒纸http://xn--fsqu00a.xn--3lr804guic/xn--
URLパス名は、ユーザーがローカルの表記法で指定することもできます。まだエンコードされていない場合はUTF-8に変換され、URLの基本文字セットに含まれない文字はパーセントエンコーディングを使用して16進数としてエスケープされます。例えば、日本語のURLは になります。ターゲットコンピュータはアドレスをデコードし、ページを表示します。[ 23 ] http://example.com/引き割り.htmlhttp://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html
プロトコル相対リンク(PRL)は、プロトコル相対URL(PRURL)とも呼ばれ、プロトコルが指定されていないURLです。例えば、//example.com現在のページのプロトコル(通常はHTTPまたはHTTPS)が使用されます。[ 26 ] [ 27 ]
http://www.example.comはURLですが、はそうではwww.example.comありません。 [ 9 ].0ドット付き10進表記の一部を削除したり、生の整数IPアドレスを使用したりできます。 [ 19 ]