基底URI

基底URI

[1] 基底 (きてい) (base) URL基底 (きてい) (base) URI基底 (きてい) (base) IRI とは、相対URL相対参照相対IRI参照解決する際の基準として用いられる URLURIIRI です。

仕様書

呼称について

[32]URL」(的なもの) の概念と用語の混乱に伴い、「基底URL」(的なもの) の概念と用語も場面によって異なっていることがあります。

[33] URLURIIRI といった元となる用語にあわせて、「基底URL」、「基底URI」、「基底IRI」 のような異なる呼称を用いることがあります。細かな差異を無視すればこれらはいずれも同じ概念を表しています。 W3C の仕様の中には、実際には IRI遺物拡張IRI であっても「基底URI」 の名称を用いることがあります。

[2]URI」という語は RFC 3986 に従えば相対参照を含みませんし、 RFC 2396 時代の定義では素片識別子も含まれませんでしたが、相対参照素片識別子を使っていても 「基底URI参照」ではなく単に「基底URI」と呼ぶことがあります。

相対参照解決において素片識別子の有無は結果に影響しないのですが、 普通は素片識別子つきの URI参照を認めても特に害はないので、 「基底URI」が認められる場所で素片識別子つきの URI参照も認められていたりするのでしょう。
[3] もっとも、 RFC 3986 などで定義されている相対参照解決算法の入力としての基底URI絶対URI (絶対URI参照) である必要があります。 xml:base 属性のように基底URI が望まれるところで相対参照が使えることもありますが、より上位の相対参照について解決した結果が RFC 3986 的な意味での基底URI となって使われます。

文書 URL との関係

[34] 基底URL はそれが適用される文書 (というものがあるとして。) 自体の URL とは別個に、その文書に含まれる相対参照解決するためだけの文脈情報として提供されると解釈するのが一般的と思われますが、 歴史的には文書自体の URL を (諸々の処理において) 上書きするものとして用いられているらしき場面もあります。

文書言語やプロトコルと基底 URL

メモ

[42] Node.baseURI and Fragment Identifiers ( (Alex Milowski 著, 版)) <http://lists.w3.org/Archives/Public/public-webapps/2013JanMar/0826.html>

[4] 20976 – Define base URLs in DOM ( 版) <https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976>

[5] Give workers a base URL and clean up shared workers · whatwg/html@b620471 ( 版) <https://github.com/whatwg/html/commit/b620471ff823e8e6507b077cf0785a530762f5e3>

[8] Fold CSPDOCUMENT into CSP. ( (mikewest著, )) <https://github.com/w3c/webappsec-csp/commit/0cd4bf42b5e78168cd85efe798a9a5e719677b8e>

[9] Compare 'base-uri' against the document's URL's origin. (mikewest著, ) <https://github.com/w3c/webappsec-csp/commit/fea97aea21ded4cceec13f2c56e7f9212b65388a>