[1] [DFN[[RUBY[基底][きてい]@en[base]] URL]]、[DFN[[RUBY[基底][きてい]@en[base]] URI]]、
[DFN[[RUBY[基底][きてい]@en[base]] IRI]] とは、[[相対URL]]、[[相対参照]]、[[相対IRI参照]]を[[解決]]する際の基準として用いられる
[[URL]]、[[URI]]、[[IRI]] です。

* 仕様書

[REFS[
- [6] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-01-21 11:56:00 +09:00]] 版) <https://html.spec.whatwg.org/#concept-module-script-base-url>
]REFS]

* 呼称について

[32] 「[[URL]]」(的なもの) の概念と用語の混乱に伴い、「[[基底URL]]」(的なもの)
の概念と用語も場面によって異なっていることがあります。

[33] [[URL]]、[[URI]]、[[IRI]]
といった元となる用語にあわせて、「[[基底URL]]」、「[[基底URI]]」、「[[基底IRI]]」
のような異なる呼称を用いることがあります。細かな差異を無視すればこれらはいずれも同じ概念を表しています。
[[W3C]] の仕様の中には、実際には [[IRI]] や[[遺物拡張IRI]] であっても「[[基底URI]]」
の名称を用いることがあります。

[2] 「[[URI]]」という語は [[RFC 3986]] に従えば[[相対参照]]を含みませんし、
[[RFC 2396]] 時代の定義では[[素片識別子]]も含まれませんでしたが、[[相対参照]]や[[素片識別子]]を使っていても
「[[基底URI参照]]」ではなく単に「[[基底URI]]」と呼ぶことがあります。

;; [[相対参照]]の[[解決]]において[[素片識別子]]の有無は結果に影響しないのですが、
普通は[[素片識別子]]つきの [[URI参照]]を認めても特に害はないので、
「[[基底URI]]」が認められる場所で[[素片識別子]]つきの [[URI参照]]も認められていたりするのでしょう。

;; [3] もっとも、 [[RFC 3986]] などで定義されている[[相対参照]]の[[解決]]の[[算法]]の入力としての[[基底URI]]
は[[絶対URI]] ([[絶対URI参照]]) である必要があります。 [CODE(XMLa)@en[[[xml:base]]]] [[属性]]のように[[基底URI]]
が望まれるところで[[相対参照]]が使えることもありますが、より上位の[[相対参照]]について[[解決]]した結果が
[[RFC 3986]] 的な意味での[[基底URI]] となって使われます。

* 文書 URL との関係

[34] [[基底URL]] はそれが適用される[[文書]] [WEAK[(というものがあるとして。)]] 自体の [[URL]]
とは別個に、その[[文書]]に含まれる[[相対参照]]を[[解決]]するため''だけ''の文脈情報として提供されると解釈するのが一般的と思われますが、
歴史的には[[文書]]自体の [[URL]] を (諸々の処理において) 上書きするものとして用いられているらしき場面もあります。

* 文書言語やプロトコルと基底 URL

[FIG(list)[
- [43] [[文書基底URL]]
- [35] [[節点の基底URL]]
- [37] [[[CODE(DOMa)@en[baseURI]]属性]] ([[DOM]])
- [36] [CODE(InfoProp)[[[基底URI]]]]特性 ([[XML情報集合]])
- [38] [CODE[[[base-uri]]]]
- [27] [[RFC 4722]] [CODE(XMLa)@en[[[baseurl]]]]
- [39] [CODE(HTTP)@en[[[Content-Base:]]]]
- [40] [[HTML]] [CODE(HTMLe)@en[[[base]]]] [[要素]]
- [41] [CODE(XMLa)@en[[[xml:base]]]] [[属性]]
- [7] [[モジュールスクリプト]]の[DFN[[F[[RUBYB[[[基底URL]]]@en[base URL]]]]]]:
[[モジュール指定子を解決]]する時に使う[[基底URL]]です [SRC[>>6]]。
]FIG]

* メモ

[42] [CITE@en[Node.baseURI and Fragment Identifiers]]
( ([[Alex Milowski]] 著, [TIME[2013-03-15 00:50:59 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webapps/2013JanMar/0826.html>

[4] [CITE@en[20976 – Define base URLs in DOM]]
([TIME[2015-08-04 13:48:21 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976>

[5] [CITE@en[Give workers a base URL and clean up shared workers · whatwg/html@b620471]]
([TIME[2015-11-06 22:25:37 +09:00]] 版)
<https://github.com/whatwg/html/commit/b620471ff823e8e6507b077cf0785a530762f5e3>

[8] [CITE@en[Fold CSPDOCUMENT into CSP.]]
( ([[mikewest]]著, [TIME[2016-05-23 12:05:43 +09:00]]))
<https://github.com/w3c/webappsec-csp/commit/0cd4bf42b5e78168cd85efe798a9a5e719677b8e>

[9] [CITE@en[Compare 'base-uri' against the document's URL's origin.]]
([[mikewest]]著, [TIME[2017-02-15 22:13:27 +09:00]])
<https://github.com/w3c/webappsec-csp/commit/fea97aea21ded4cceec13f2c56e7f9212b65388a>