共通構文
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/19 02:51 UTC 版)
「Uniform Resource Identifier」の記事における「共通構文」の解説
以下のURI共通構文はすべてのスキーム構文で扱うスーパーセットの定義である。なおこの節(下位含む)では2005年1月に発表された RFC 3986 を主に出典とする。 URI = scheme:[//authority]path[?query][#fragment] URIの長さは RFC 3986 、URL Standard共に255文字までと定められているが、URL Standardでは「有効なIPv4アドレス」が付け加えられている。 構文図(英語版)と各コンポーネントの解説は次の通り。 scheme(スキーム) URIはこの「スキーム」と呼ばれる識別子から始まり、省略できない。階層的識別子(Hierarchical Identifiers)である:(コロン)はスキームの区切り文字でスキーム名の最後に挿入する。スキーム名は文字で始まり、文字、数字、+(プラス記号)、-(ハイフン)、.(終止符)で構成される文字列となる。大文字と小文字を区別しないが、一貫性を保つために小文字の使用を推奨している。 authority(権限) 権限は//(ダブルスラッシュ)の区切り文字から始まる。userinfo(ユーザー情報)やhost(ホスト)の扱いは各スキームよって異なる。URIの考案者であるティム・バーナーズ=リーは2009年10月12日(現地時間)、ニューヨーク・タイムズにて権限の区切り文字であるダブルスラッシュについて「必要では無い事が判明した」と述べている。 path(パス) URIに権限が含まれている場合、パスに文字が無くても/(スラッシュ)で始める必要があり、この事からパスを省略することはできない。権限が含まれていない場合は//で始めることはできない。さらに相対パスである場合は:から始めることはできない。パスに?(疑問符)、#(番号記号)を含む、あるいは末尾の場合、パスの終わりを示す。階層的(hierarchical)に構成されたデータが含まれ、階層は/で区切る。 query(クエリ) クエリは?の区切り文字から始まり、#また末尾で終える。パスと違い、階層的なデータを含まない。RFC 3986、第3章4節において明確的な構文は示されてない。 fragment(フラグメント、素片) フラグメントは#の区切り文字から始まる。任意な扱いで、プライマリ(一次)リソースを参照し、セカンダリ(二次)リソースへ提供するフラグメント識別子を含む。クエリと同様に明確的な構文は示されてない。一例としてプライマリリソースがHTMLドキュメントの場合、要素のid属性に何かしらの値を指定し、フラグメントにも同様の値を指定することで、ウェブブラウザは表示の際にその要素の位置までスクロールする。ウィキペディアでは「アンカー」と呼ばれる機能が該当する。 電話番号、電子メールアドレスは RFC 3191 及び RFC 3192 で定義されている構文を利用する。
※この「共通構文」の解説は、「Uniform Resource Identifier」の解説の一部です。
「共通構文」を含む「Uniform Resource Identifier」の記事については、「Uniform Resource Identifier」の概要を参照ください。
- 共通構文のページへのリンク