URL

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

URL
ユニフォームリソースロケータ
状態公開済み
初版1994 ; 27年前 (1994
最新バージョン生活水準
2021
組織インターネットエンジニアリングタスクフォース(IETF)
委員会Webハイパーテキストアプリケーションテクノロジーワーキンググループ(WHATWG)
シリーズコメントの要求(RFC)
編集者アン・ヴァン・ケステレン
著者ティムバーナーズリー
基本基準RFC  3986– URL(Uniform Resource Identifier):汎用構文。

RFC  4248– telnetURIスキーム。RFC 4266– gopherURIスキーム。RFC 6068–「mailto」URIスキーム。RFC 6196–メールサーバーの移動:URIスキームから履歴へ。
 
 
 

RFC  6270–「tn3270」URIスキーム。
関連規格URIURN
ドメインワールドワイドウェブ
ライセンスCC BY 4.0
略語URL
Webサイトhttps://url.spec.whatwg.org

ユニフォームリソースロケータURL)、口語と呼ばれるWebアドレスを[1]への参照であるウェブリソース上の場所を指定し、コンピュータネットワークと、それを取得するためのメカニズム。URLは、特定のタイプのURI(Uniform Resource Identifier[2] [3]ですが、多くの人が2つの用語を同じ意味で使用しています。[4] [a] URLは Webページhttpを参照するために最も一般的に発生しますが、ファイル転送(ftp)、電子メール(mailto)、データベースアクセス(JDBC)にも使用されます。)、および他の多くのアプリケーション。

ほとんどのWebブラウザは、アドレスバーのページの上にあるWebページのURLを表示します一般的なURLhttp://www.example.com/index.htmlは、プロトコル(http)、ホスト名www.example.com)、およびファイル名(index.htmlを示す形式を持つことができます

歴史

ユニフォームリソースロケーターの簡単な例

ユニフォームリソースロケータは、で定義されたRFC 1738で1994年にティム・バーナーズ=リー、の発明ワールド・ワイド・ウェブ、およびのURIワーキンググループ、インターネットエンジニアリングタスクフォース(IETF)、[7]で開始コラボレーションの成果として、 IETF Livingは、 1992年の羽のセッションの鳥を記録します。[8] [9] 

この形式は、既存のドメイン名システム(1985年に作成)とファイルパス構文を組み合わせたもので、スラッシュを使用してディレクトリファイル名を区切りますサーバー名の前にファイルパスを完成させ、その前に二重スラッシュ(//)を付けることができる規則はすでに存在していました[10]

バーナーズ=リーは、後の部分に分離するドットの使用に遺憾の意を表明し、ドメイン名の中のURIを全体で、彼が使用していたスラッシュを希望する、[10]ともには、2 URIの最初のコンポーネント次のコロン与えられ、それを言いましたドメイン名の前のスラッシュは不要でした。[11]

HTML仕様の初期(1993)ドラフト[12]は、「ユニバーサル」リソースロケーターに言及していました。これは、1994年6月(RFC  1630)から1994年10月(draft-ietf-uri-url-08.txt)の間に削除されました。[13]

構文

すべてのHTTPURLは、汎用URIの構文に準拠しています。URIの一般的な構文は5つの階層的な配列からなるコンポーネント[14]

URI =スキーム:[// Authority] path [?query] [#fragment]

ここで、権限コンポーネントは3つのサブコンポーネントに分割されます

権限= [userinfo @] host [:port]

これは、構文図では次のように表されます

URI構文図

URIは次のもので構成されます。

  • 空ではない スキームコンポーネントの後にコロン(:)が続き、文字で始まり、文字、数字、プラス(+)、ピリオド(.)、またはハイフン(-)の任意の組み合わせが続く文字のシーケンスで構成されますスキームでは大文字と小文字は区別されませんが、標準形式は小文字であり、スキームを指定するドキュメントでは小文字を使用する必要があります。人気のスキームの例としてはhttphttpsftpmailtofiledata、とircURIスキームは、Internet Assigned Numbers Authority(IANA)に登録する必要がありますが、実際には未登録のスキームが使用されます。[NS]
  • オプション 2つのスラッシュ(//が前に付いた権限コンポーネント
    • オプション userinfoサブコンポーネント。ユーザー名とオプションのパスワードの前にコロン(:)が続き、その後にアットマーク()が続き@ます。username:passworduserinfoサブコンポーネントでの形式の使用は、セキュリティ上の理由から非推奨です。コロンの:後のデータが空の文字列(パスワードがないことを示す)でない限り、アプリケーションは、userinfoサブコンポーネント内で見つかった最初のコロン()の後のデータをクリアテキストとしてレンダリングしないでください
    • NS 登録名(ホスト名を含むがこれに限定されない)またはIPアドレスのいずれかで構成されるホストサブコンポーネントIPv4アドレスはドット付き10進表記である必要がありIPv6アドレスは角かっこ([])で囲む必要があります[16] [c]
    • オプション コロン(:が前に付いたポートサブコンポーネント
  • NS スラッシュ(/)で区切られた一連のパスセグメントで構成されるパスコンポーネント。定義されたパスは空(長さがゼロ)の場合もありますが、パスは常にURIに対して定義されます。セグメントが空の場合もあり//、パスコンポーネントに2つの連続したスラッシュ()が表示されます。パスコンポーネントは、ファイルシステムパスに類似しているか、正確にマップされている場合がありますが、必ずしもファイルシステムパスとの関係を意味するわけではありません。権限コンポーネントが存在する場合、パスコンポーネントは空であるか、スラッシュ(/)で始まる必要があります。権限コンポーネントが存在しない場合、//次の文字が権限コンポーネントとして解釈されるため、パスを空のセグメント、つまり2つのスラッシュ()で始めることはできません [18]パスの最後のセグメントは、「スラッグと呼ばれる場合があります
クエリ区切り文字
アンパサンド(& key1=value1&key2=value2
セミコロン(;[d] key1=value1;key2=value2
  • オプション 非階層データのクエリ文字列?含む、疑問符(が前に付いたクエリコンポーネントその構文は明確に定義されていませんが、慣例により、ほとんどの場合区切り文字で区切られた属性と値のペアのシーケンスです
  • オプション ハッシュ#が前に付いたフラグメントコンポーネントフラグメントには、URIの残りの部分で識別される記事のセクション見出しなど、セカンダリリソースへの方向を提供するフラグメント識別子が含まれますプライマリリソースがHTMLドキュメントの場合、フラグメントは特定の要素のid属性であることが多く、Webブラウザはこの要素をスクロールして表示します。

Webブラウザーは通常、指定されたホスト(デフォルトではポート番号80)に対してHTTP要求を実行することにより、URLを逆参照します。スキームを使用するURLでは、Webサイトへの安全な接続を介して要求と応答を行う必要がありますhttps

国際化されたURL

インターネットユーザーは、さまざまな言語とアルファベットを使用して世界中に分散しており、独自のローカルアルファベットでURLを作成できることを期待しています。Internationalized Resource Identifier(IRI)は、Unicode文字を含むURLの形式です。最新のブラウザはすべてIRIをサポートしています。さまざまなアルファベットに対して特別な処理が必要なURLの部分は、ドメイン名とパスです。[20] [21]

IRIのドメイン名は、国際化ドメイン名(IDN)と呼ばれます。Webおよびインターネットソフトウェアは、ドメイン名をドメインネームシステムで使用可能なpunycodeに自動的に変換しますたとえば、中国語のURLはにhttp://例子.卷筒纸なりhttp://xn--fsqu00a.xn--3lr804guic/ます。xn--文字はもともとASCIIではなかったことを示しています。[22]

URLパス名は、ローカルの書記体系でユーザーが指定することもできます。まだエンコードされていない場合は、UTF-8に変換され、基本的なURL文字セットの一部ではない文字は、パーセントエンコードを使用して16進数としてエスケープされますたとえば、日本語のURLはになります。ターゲットコンピュータはアドレスをデコードし、ページを表示します。[20] http://example.com/引き割り.htmlhttp://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html

プロトコル相対URL

プロトコル相対リンク(PRL)は、プロトコル相対URL(PRURL)とも呼ばれ、プロトコルが指定されていないURLです。たとえば//example.com、現在のページのプロトコル(通常はHTTPまたはHTTPS)を使用します。[23] [24]

も参照してください

ノート

  1. ^ URLは、指定されたリソースにアクセスする手段を意味し、プロトコルまたはアクセスメカニズムによって示されますが、これはすべてのURIに当てはまるわけではありません。[5] [4]したがって、http://www.example.comはURLですが、そうでwww.example.comはありません。[6]
  2. ^ 新しいURIスキームを登録する手順は、1999年にRFC 2717によって最初に定義され、現在は2015年6月に公開されたRFC7595によって定義されています  [15] 
  3. ^ World Wide Web上のリソースに関連するURIの場合、一部のWebブラウザー.0では、ドット付き10進表記の一部を削除したり、生の整数IPアドレスを使用したりできます。[17]
  4. ^ 歴史RFC 1866(によって廃止RFC  2854を)サポートするために、CGIの著者を奨励します';' に加えて '&'。[19] 

引用

  1. ^ W3C(2009)
  2. ^ 「URLの円記号と円記号」zzz.buzz 2018919日取得
  3. ^ RFC 3986(2005)
  4. ^ B 共同W3C / IETF URI企画・インタレスト・グループ(2002)
  5. ^ RFC 2396(1998)
  6. ^ ミースラー、ダニエル。「URLとURIの違い」
  7. ^ W3C(1994)
  8. ^ IETF(1992)
  9. ^ Berners-Lee(1994)
  10. ^ a b Berners-Lee(2000)
  11. ^ BBCニュース(2009)
  12. ^ Berners-Lee、Tim ; コノリー、ダニエル「ダン」(1993年3月)。ハイパーテキストマークアップ言語(ドラフトRFCxxx)(テクニカルレポート)。NS。28。
  13. ^ Berners-Lee、Tim ; マシンター、ラリー; マッカヒル、マークペリー(1994年10月)。ユニフォームリソースロケーター(URL)(テクニカルレポート)。Ang、CSで引用されています。マーティン、DC(1995年1月)。Constituent Component Interface ++(テクニカルレポート)。UCSFライブラリおよび知識管理センター。
  14. ^ RFC 3986、セクション3(2005)
  15. ^ IETF(2015)
  16. ^ RFC 3986(2005)、§3.2.2。
  17. ^ ローレンス(2014)
  18. ^ RFC 2396(1998)、§3.3。
  19. ^ RFC 1866(1995)、§8.2.1。
  20. ^ a b W3C(2008)
  21. ^ W3C(2014)
  22. ^ IANA(2003)
  23. ^ Glaser、JD(2013)。モバイルアプリの安全な開発:PHPとJavaScriptを使用して安全なモバイルアプリケーションを設計およびコーディングする方法CRCプレスNS。193. ISBN 978-1-48220903-72015年10月12取得
  24. ^ Schafer、Steven M.(2011)。HTML、XHTML、およびCSS聖書ジョンワイリー&サンズNS。124. ISBN 978-1-11808130-32015年10月12取得

参考文献

外部リンク