[14] [[HTML]] の [DFN[[CODE(HTMLe)[base]] 要素型]]の要素は、
[[文書]]の[[基底URI]] や基底対象枠を指定するために使用することができます。

[17] HTML での基底 URI に関しては、
[[HTML//基底URI]] も参照してください。

[15]
:[[開始タグ]]:必須
:[[終了タグ]] ([[HTML 2]], [[HTML 4]], [[ISO-HTML]]):禁止
:終了タグ (XHTML 1):必須
:[[内容模型]]:[[強制空要素]]
:出現できる文脈:[CODE(HTMLe)[[[head]]]] 内の、参照を持つ要素の前に高々1個

* 仕様書

[REFS[
- [128] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-06-15 00:38:15 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-base-element>
]REFS]

* 属性

,[CODE(HTMLa)[[[href]]]]	,[[絶対URI]]	,(選択必須)	,基底 URI	,"[HTML 2], [HTML 4]"
,[CODE(HTMLa)[[[id]]]]	,(なし)	,固有識別子	,"[XHTML 1.0 SE], Microsoft [[Word]]"
,[CODE(HTMLa)[[[target]]]]	,[CODE(SGML)[%[[FrameTarget]]]]	,(選択必須)	,既定の対象枠	,[HTML 4] 非推奨


[CODE(HTMLa)[href]] 属性と [CODE(HTMLa)[target]]
属性のいずれかは必須です (が、 [[DTD]] でこれを表すことができないので、
両方の属性が存在する DTD では、両方省略可能になっています)。

[[#comment]]


** 出現できる文脈

[16] この要素は
[CODE(HTMLe)[head]] 要素内に高々1個存在できますが [SRC[HTML 4]]、
外部参照を持つ要素の前になければなりません [SRC[HTML 4 仕様書]]。

[CODE(HTMLe)[base]] 要素の前に来得る、
外部参照を持ち得る要素型は [CODE(HTMLe)[[[script]]]],
[CODE(HTMLe)[[[object]]]], [CODE(HTMLe)[[[link]]]]
です。 (スクリプト内やスタイルシート内の参照も含まれるのでしょうか? 
だとしたら [CODE(HTMLe)[[[style]]]] 要素や、
[CODE(HTMLa)[style]] 属性または事象系属性を持つ任意の要素が該当します。)

ところで、 [CODE(HTMLe)[head]] 要素自体も
[CODE(HTMLa)[[[profile]]]] という値に [[URI]]
を含む属性があります。でもそれ以前にもっていくのは不可能です。

[18]
HTML 4 loose DTD でも [CODE(HTMLe)[base]] が出現可能なのは高々1回です。つまり、
[CODE(HTMLa)[href]] 用と [CODE(HTMLa)[target]] 用を別にするようなことはできない、
ということです。

* 状態

[5] [CODE(HTMLe)@en[base]] [[要素]]は、[[HTML要素]]の状態に加え、
次の[[状態]]を持ちます。
[FIG(list members)[
: [F[凍結基底URL]] :
[[文書基底URL]]の決定に使われる値です。
[[文書中]]にあるとき、値を持ちます [SRC[>>128]]。
]FIG]

* 凍結基底 URL

[127] [[[CODE(DOMi)@en[Document]]内]]で[[木順]]で最初の [CODE(HTMLa)@en[[[href]]]] [[属性]]つき
[CODE(HTMLe)@en[[[base]]]] [[要素]]は、[DFN[[RUBYB[[[凍結基底URL]]]@en[frozen base URL]]]]を持ちます [SRC[>>128]]。
[[凍結基底URL]]は[[文書基底URL]]の決定に用いられます。

[129] 次のような状況で[[同期的]]に[[凍結基底URLの設定]]が行われなければ[['''なりません''']] [SRC[>>128]]。
[FIG(list)[
- [130] [[[CODE(DOMi)@en[Document]]内]]で[[木順]]で最初の [CODE(HTMLa)@en[[[href]]]] [[属性]]つき
[CODE(HTMLe)@en[[[base]]]] [[要素]]となったとき
- [131] [[[CODE(DOMi)@en[Document]]内]]で[[木順]]で最初の [CODE(HTMLa)@en[[[href]]]] [[属性]]つき
[CODE(HTMLe)@en[[[base]]]] [[要素]]の [CODE(HTMLa)@en[[[href]]]] [[属性]]が変化したとき
]FIG]

[132] [[要素]][VAR[要素]]の[DFN[[RUBYB[[[凍結基底URLの設定]]]@en[set the frozen base URL]]]]は、
次のようにします [SRC[>>128]]。
[FIG(steps)[
= [6] [VAR[文書]]を、[VAR[要素]]の[F[節点文書]]に設定します。
= [22] [VAR[結果]]を、[VAR[要素]]の [CODE(HTMLa)@en[href]] [[内容属性]]の値に、
[VAR[文書]]の[F[フォールバック基底URL]]と[VAR[文書]]の[F[文字符号化][文書の文字符号化]]について、
[[URL構文解析器]]を適用した結果に設定します。
= [9] [VAR[結果]]が失敗なら、
== [10] [VAR[要素]]の[F[凍結基底URL]]を、[VAR[文書]]の[F[フォールバック基底URL]]に設定します。
= [11] それ以外で、[VAR[結果]]の[[URLレコード]]と[VAR[文書]]に
[[CSP]] [[Is base allowed for Document?]] を適用した結果が「[[Blocked]]」
なら、
== [12] [VAR[要素]]の[F[凍結基底URL]]を、[VAR[文書]]の[F[フォールバック基底URL]]に設定します。
= [13] それ以外なら、
== [20] [VAR[要素]]の[F[凍結基底URL]]を、[VAR[結果]]の[[URLレコード]]に設定します。
]FIG]

[136] これらの規定により、 [CODE(HTMLe)@en[[[base]]]] [[要素]]によって設定される[[基底URL]]は、
それが[[文書基底URL]]として用いられることになった時点で[[解決]]した値に固定されることになります。
[[フォールバック基底URL]]は [CODE(DOMm)@en[[[pushState]]]] などによって変化することがありますが、
それによって[[凍結基底URL]]は変化しません。

[137] なお、 [CODE(HTMLe)@en[[[base]]]] [[要素]]の [CODE(DOMa)@en[[[href]]]] [[IDL属性]]はその時点で
[CODE(HTMLa)@en[[[href]]]] [[内容属性]]を[[フォールバック基底URL]]に対して[[解決]]した値を返すので、
必ずしも[[凍結基底URL]]とは一致しません。

* 関連

[27]
HTML には [CODE(HTMLa)[[[codebase]]]]
属性があって、特定の要素の特定の処理における基底 URI
を別途指定できます。

[[XHTML]] を他のマーク語彙と組合せる時の
[CODE(HTMLe)[base]] 要素の影響は規定されていませんから、
どう解釈されるかわかりませんので危険です。

* [CODE(HTMLe)@en[base]] 要素の適用範囲

[8] [[不思議マーク付け]]的には、 [CODE(HTMLe)[base]] 要素は次の 
[CODE(HTMLe)[base]] 
要素が現れるまで有効なのだそうです (少なくても [[WinIE]] はこの通り動くらしい)。
[CODE(HTMLe)[[[basefont]]]] 要素と同じですね。

[33]
[[WinIE]] ([[MSHTML]]) において、 [CODE(HTMLe)[[[base]]]]
要素が [CODE(HTMLe)[[[head]]]] 中に存在する場合、
- [CODE(HTMLe)[[[body]]]] の
[CODE(DOMa)[[[parentNode]]]] は [CODE(HTMLe)[[[base]]]] です。
- [CODE(HTMLe)[[[head]]]] 内の要素の内、
[CODE(HTMLe)[[[base]]]] の弟の
[CODE(DOMa)[[[parentNode]]]] は [CODE(HTMLe)[[[base]]]] です。
- [CODE(HTMLe)[[[base]]]] の [CODE(DOMa)[[[childNodes]]]]
には [CODE(HTMLe)[[[base]]]] の弟や [CODE(HTMLe)[[[body]]]]
が含まれます。
- [CODE(HTMLe)[[[base]]]] の [CODE(DOMa)[[[parentNode]]]]
は [CODE(HTMLe)[[[head]]]] です。
- [CODE(HTMLe)[[[base]]]] の [CODE(DOMa)[[[previousSibling]]]]
は直近の兄です。
- [CODE(HTMLe)[[[base]]]] の [CODE(DOMa)[[[nextSibling]]]]
は [CODE(DOM)[[[null]]]] です。
- [CODE(HTMLe)[[[head]]]] の [CODE(DOMa)[[[childNodes]]]]
には [CODE(HTMLe)[[[base]]]] の兄や [CODE(HTMLe)[[[base]]]]
が含まれます。
- [CODE(HTMLe)[[[body]]]] の [CODE(DOMa)[[[previousSibling]]]]
は [CODE(HTMLe)[[[head]]]] です。
- [CODE(HTMLe)[[[body]]]] の [CODE(DOMa)[[[nextSibling]]]]
は [CODE(DOM)[[[null]]]] です。
- [CODE(HTMLe)[[[head]]]] の [CODE(DOMa)[[[previousSibling]]]]
は [CODE(DOM)[[[null]]]] です。
- [CODE(HTMLe)[[[head]]]] の [CODE(DOMa)[[[nextSibling]]]]
は [CODE(HTMLe)[[[body]]]] です。
- [CODE(HTMLe)[[[head]]]] の [CODE(DOMa)[[[parentNode]]]]
は [CODE(HTMLe)[[[html]]]] です。
- [CODE(HTMLe)[[[html]]]] の [CODE(DOMa)[[[childNodes]]]]
には [CODE(HTMLe)[[[head]]]] と [CODE(HTMLe)[[[body]]]]
が含まれます。
- [CODE(HTMLe)[[[base]]]] の
[CODE(DOMa)[[[outerHTML]]]], [CODE(DOMa)[[[innerHTML]]]],
[CODE(DOMa)[[[outerText]]]], [CODE(DOMa)[[[innerText]]]]
には弟や [CODE(HTMLe)[[[body]]]] の内容も含まれます。
[CODE(HTMLe)[[[base]]]] の[[終了タグ]]はありません。
[CODE(HTMLe)[[[head]]]] の[[終了タグ]]は含まれます。
- [CODE(HTMLe)[[[head]]]] の
[CODE(DOMa)[[[outerHTML]]]], [CODE(DOMa)[[[innerHTML]]]],
[CODE(DOMa)[[[outerText]]]], [CODE(DOMa)[[[innerText]]]]
には [CODE(HTMLe)[[[body]]]] の内容は含まれません。

([[WinIE 6]] on [[Windows XP]] [[SP2]] で確認)

参考: [CITE[agenda 2002-03(下旬) - Personnel]] <http://members.jcom.home.ne.jp/jintrick/Personal/d20023l.html#d18_19>

[34]
>>33

>>3 のように [CODE(HTMLe)[[[body]]]] 内に複数
[CODE(HTMLe)[[[base]]]] を入れてみると、それ以降がすべて
[CODE(HTMLe)[[[base]]]] に飲み込まれます。
[CODE(HTMLe)[[[base]]]] の終了タグがあっても無視されます。

([[名無しさん]] [WEAK[2005-05-29 07:33:55 +00:00]])

[35]
>>34 のテスト: <http://suika.fam.cx/gate/cvs/*checkout*/www/test/html/base/base-in-body.html>
([[名無しさん]] [sage])

[37]
こういう変な包含関係は [CODE(HTMLa)@en[[[contentEditable]]]]
でも生じるらしい

[CITE@en[contentEditable - Anne’s Weblog about Markup & Style]] 
<http://annevankesteren.nl/2005/07/contenteditable>

([[名無しさん]] [sage])

[38]
>>33-35
[[WinIE 7]] で修正される予定だそうです。

[CITE@en[IEBlog : All your <base> are belong to us]] 
<http://blogs.msdn.com/ie/archive/2005/08/29/457667.aspx>

([[名無しさん]] [WEAK[2005-09-02 03:35:49 +00:00]])

[64]
[CITE[「base要素でいろいろ」@水無月ばけらのえび日記]] <http://bakera.jp/hatomaru.aspx/ebi/topic/2697>
([[名無しさん]] [WEAK[2006-11-05 23:44:46 +00:00]])

[65]
[CITE@en[crisp’s blog &#187; Blog Archive &#187; Broken parsers; the importance of BASE]] ([CODE[2007-01-12 23:43:01 +09:00]] 版) <http://therealcrisp.xs4all.nl/blog/2007/01/06/broken-parsers-the-importance-of-base/>
([[名無しさん]] [WEAK[2007-01-12 14:45:56 +00:00]])

[FIG[
[FIGCAPTION[
[66] [CITE@en[Useful CSS Snippets - webSemantics]] ([[Mike Foskett]] 著, [CODE[2007-01-13 16:06:46 +09:00]] 版) <http://www.websemantics.co.uk/tutorials/useful_css_snippets/#base>
]FIGCAPTION]

>
An unusual effect. IE refused to copy or highlight body content text. The issue was related to the use of the base element in the head section. Without it, copy worked. With it, IE refused to highlight the text.
>
Example:
[PRE(HTML code)[
<base href="someURL" />
]PRE]
Caused issues. The solution was to replace it with:
[PRE(HTML code)[
<base href="someURL"></base>
]PRE]
> Other head elements may also cause this problem, though the solution should be similar.
]FIG]

* 歴史

** 構想

[42] [[HTML 1991]] も参照。

[FIG(data)[ [31] [[HTML要素概説]]

:[F[要素名]]:[CODE[savedas]]
:日付:[TIME[1991-10-29]]
:説明:
[TIME[1991-10-29]]時点の
[[HTML]]
仕様の概要に、
base address (既定番地) tag
への言及があるが、
構想だけで未使用とされていた。
[TIME[1990]]頃とみられる仕様案にも同様の記述が既にあった。
:出典:
[REFS[

-
[CITE[Re: status. Re: X11 BROWSER for WWW]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[Tue, 29 Oct 91 10:03:11 GMT+0100][1991-10-29T10:03:11+01:00]],
[TIME[2003-08-04T15:50:19.000Z]], [TIME[2024-08-12T07:23:31.540Z]] <https://lists.w3.org/Archives/Public/www-talk/1991SepOct/0003.html>

]REFS]


]FIG]


[FIG(quote)[
[FIGCAPTION[
[112] [CITE[Re: status. Re: X11 BROWSER for WWW]] ([TIME[2004-05-12 00:03:58 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-talk/1991SepOct/0003.html>
]FIGCAPTION]

>The base address tag is not used, nor is highlighting HP1 etc.
]FIG]

[FIG[
[FIGCAPTION[
[113] [CITE[Re: Is there a paper which describes the www protocol?]] ([TIME[2003-08-10 13:44:07 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-talk/1992JanFeb/0000.html>
]FIGCAPTION]

>Base Address
>  Anchors specify addresses of other documents, in a from relative to the
address of the current document. Normally, the address of a document is
known to the browser because it was used to access the document. However, is
a document is mailed, or is somehow visible with more than one address (for
example, via its filename and also via its library name server catalogue
number), then the browser needs to know the base address in order to
correctly deduce external document addresses.
>    The format of this tag is not yet specified.
]FIG]

[FIG(data)[ [32] [[HTML要素概説]]

:[F[要素名]]:[CODE[savedas]]
:日付:[TIME[1992-01-09]]
:説明:
[TIME[1992-01-09]]の[[電子メール]]所収の HTML 仕様書に
base address
機能が掲げられているが、形式未定とされていた。
:出典:
[REFS[

-
[CITE[Re: Is there a paper which describes the www protocol?]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[Thu, 9 Jan 92 12:34:24 GMT+0100][1992-01-09T12:34:24+01:00]],
[TIME[2003-08-04T15:50:19.000Z]], [TIME[2024-08-12T07:41:57.901Z]] <https://lists.w3.org/Archives/Public/www-talk/1992JanFeb/0000.html>

]REFS]


]FIG]


[FIG[
[FIGCAPTION[
[103] [CITE[Tags used in HTML]]
( ([TIME[1992-11-13 08:29:05 +09:00]] 版))
<http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html#11>
]FIGCAPTION]

>Anchors specify addresses of other documents, in a from relative to the address of the current document. Normally, the address of a document is known to the browser because it was used to access the document. However, is a document is mailed, or is somehow visible with more than one address (for example, via its filename and also via its library name server catalogue number), then the browser needs to know the base address in order to correctly deduce external document addresses.
>The format of this tag is not yet specified. NOT CURRENTLY USED
]FIG]

** [CODE(HTMLe)@en[savedas]] 要素案 (1992/11-1993/1)

[FIG[
[FIGCAPTION[
[105] [CITE[HTML DTD issues]]
( ([TIME[2003-08-05 15:39:18 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0068.html>
]FIGCAPTION]

>
6. Any more thoughts on the BaseAddress tag?
]FIG]

[FIG[
[FIGCAPTION[
[106] [CITE[Re: HTML DTD issues]]
( ([TIME[2003-08-19 00:53:43 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0072.html>
]FIGCAPTION]

>Yes. It should be in. I think.  I've mentioned in  
http://info.cern.ch/hypertext/WWW/MarkUp/Future.html
]FIG]

[FIG(quote)[
[FIGCAPTION[
[107] [CITE[Future plans for HTML]]
( ([TIME[1992-12-02 18:35:56 +09:00]] 版))
<http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Future.html>
]FIGCAPTION]

>Base address
:[CODE(HTMLe)@en[savedas]]:
Could be a name for the tag to give the address with which the document was saved, so that relative links could be resolved even when a document is found out of context (like mailed).
]FIG]

[FIG(data)[ [36] [[HTML要素概説]]

:[F[要素名]]:[CODE[savedas]]
:日付:[TIME[1992-12-02]]
:説明:
[TIME[1992-12-02]]付の
[[Tim Berners‑Lee]]
の[[Webページ]]に
[CODE[savedas]]
の構想がある。
現在の
[CODE[base]]
に当たるが、
[[メール]]などでの[[相対URL]]の[[解決]]のためと説明されていた。
[SRC[>>47]]
[[要素名]]と合わせて [[Internet Explorer]]
の
[CODE(HTML comment)[<!-- saved from url -->]]
構文を思い起こさせる。
[SRC[SW:[[SavedFrom][saved from url]]]]
:出典:
[REFS[

- 
[47] 
[CITE@en[Future plans for HTML]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[1992-12-02T18:35:56.000Z]], [TIME[2024-08-12T09:20:27.147Z]] <https://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Future.html>

]REFS]


]FIG]

[46] [CITE[EMail Msg <9301141702.AA00591@www3.cern.ch>]], [TIME[1995-08-08T03:09:27.000Z]], [TIME[2024-09-30T08:38:44.783Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/64.html>


[FIG(quote)[
[FIGCAPTION[
[78] [CITE[WWW-Talk Jan-Mar 1993: Re: HTML todo list]]
( ([TIME[2013-03-09 04:39:15 +09:00]] 版))
<http://1997.webhistory.org/www.lists/www-talk.1993q1/0070.html>
]FIGCAPTION]

> Now, what about the SAVEDAS adddress so that from justthe content of 
the document hte partial UDIs can be resolved? I think that is a 
useful thing, and could be essentail. I will put that in as Standard.
]FIG]

[FIG[
[FIGCAPTION[
[77] [CITE[WWW-Talk Jan-Mar 1993: Re: HTML todo list]]
( ([TIME[2013-03-09 04:38:00 +09:00]] 版))
<http://1997.webhistory.org/www.lists/www-talk.1993q1/0072.html>
]FIGCAPTION]

> Yuk, but OK for now. (I have lots to say about URLs, but until I
have time to do something about it, I'll leave them be :-)
]FIG]

** [CODE(HTMLe)@en[base]] 要素の誕生 (1993/3)

[114] [CODE(HTMLe)@en[[[base]]]] [[要素]]が初めて登場するのは、現在確認されている中では、1993年3月10日版の仕様書と見られる
>>111 です。収録されている [[DTD]] にも [CODE(HTMLe)@en[[[base]]]] [[要素]]が含まれています。

[FIG(quote)[
[FIGCAPTION[
[111] <https://suika.suikawiki.org/www/2005/pre-id/html-spec-199303.pdf#page=12>
]FIGCAPTION]

>8 [CODE(HTMLe)@en[BASE]]
>This element allows the URL of the document itself to be recorded in situations in which the document may be
read out of context. URLs within the document may be in a "partial" form relative to this base address.
>Where the base address is not speciﬁed, the reader will use the URL it used to access the document to resolve any
relative URLs.
>The one attribute is:
:[CODE(HTMLa)@en[HREF]]:the URL
]FIG]

;; [116] 2月3日付けの [[DTD]] には [CODE(HTMLe)@en[[[base]]]] [[要素]]は含まれていません。また
[CODE(HTMLe)@en[[[savedas]]]] [[要素]]が含まれている [[DTD]] もなかったようです。
[REFS[
- [CITE@en[HTML DTD (revision 1.4 / 1993-02-03)]] ([TIME[2013-03-09 10:57:02 +09:00]] 版) <http://suika.suikawiki.org/gate/2007/schema/schema/a4f181dfc201ae4a0db551064edb6306/cache.html>
]REFS]


[FIG(data)[ [40] [[HTML要素概説]]

:[F[要素名]]:[CODE[base]]
:日付:[TIME[1993-03-10]]
:説明:
[TIME[1993-03-10]]版と思われる
[[HTML]] 
の本文および [[DTD]]
に
[CODE[base]]
がある。
[SRC[HTML199303]]
これ以前の遠くない時期に 
[CODE[savedas]]
を改称したものだった。
:出典:
[REFS[

- 
[DFN[HTML199303]]:
[CITE@en[Hypertext Markup Language]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[March 1993][1993-03]], 
<https://suika.suikawiki.org/www/2005/pre-id/html-spec-199303.pdf>

]REFS]


]FIG]


[115] その後の版である次の文書にも [CODE(HTMLe)@en[[[base]]]] [[要素]]は引き継がれています。

[REFS[
- [76] <http://suika.suikawiki.org/www/2005/pre-id/html-spec-19930315.pdf#page=12>
- [104] [CITE@en[draft-ietf-iiir-html-00 - Hypertext Markup Language (HTML): A Representation of Textual Information and MetaInformation for Retrieval and Interchange]]
<http://tools.ietf.org/html/draft-ietf-iiir-html-00>
- [26] [[HTML 2.0]] ([[RFC 1866]])
-- [CITE[5.2.2. Base Address: [CODE(HTMLe)[BASE]]]]
]REFS]

[FIG[
[FIGCAPTION[
[108] RFC 1866 (HTML 2.0) [CSECTION@en[5.2.2. Base Address: BASE]]
]FIGCAPTION]

> The optional <BASE> element provides a base address for interpreting
relative URLs when the document is read out of context (see 7,
"Hyperlinks"). The value of the HREF attribute must be an absolute URI.

> 省略可能な [DFN[[CODE(HTMLe)[base]] 要素]]は、
文書が文脈外で読まれる時に[[相対URL]]を解釈するための基底番地を提供します。
[CODE(HTMLa)[href]] 属性の値は[[絶対URI]]でなければなりません。
]FIG]

** 実装の進展

[110] [[Netscape Navigator]] 1.0 (1995年) は既に [CODE(HTMLe)@en[[[base]]]] [[要素]]に対応していたようです [SRC[>>118]]。
それ以前から実装されていたかもしれません。

[39]
[[libwww]]の[[HTML]][[構文解析器]]は1996年7月20日のRelease 4.1b3で[CODE(HTMLe)@en[[[base]]]]を実装しました。

[FIG[
[FIGCAPTION[
[75] [CITE[Change History for W3C Sample Code Library]]
( ([TIME[2002-06-07 13:08:53 +09:00]] 版))
<http://www.w3.org/Library/User/History.html#Release50>
]FIGCAPTION]

>
Updated HTML parser to support [CODE(HTMLe)@en[BASE]] tag and [CODE(HTMLe)@en[LINK]] tag
]FIG]

[73] >>122 の [[NCSA Mosaic]] Unix 版 2.7b5 (1996年7月) のソースを見ると [CODE(HTMLe)@en[[[base]]]]
[[要素]]にはまだ対応していないようです。

;; [74] 96年にもなってまだ対応していないとは信じがたいが・・・。

[120] >>73-74 でも >>118-119 によると 1995年10月の [[NCSA Mosaic]] 2.0 以降は [CODE(HTMLe)@en[[[base]]]]
[[要素]]に対応しているらしい。

[123] 確かに >>121 の [[NCSA Mosaic]] 2.7 のソースには [CODE(HTMLe)@en[[[base]]]] [[要素]]が含まれています。

[REFS[
- [118] [CITE[Base]] ([TIME[2005-03-28 03:34:20 +09:00]] 版) <http://www.blooberry.com/indexdot/html/tagpages/b/base.htm>
- [119] [CITE[Browser History: Mosaic]] ([TIME[1997-07-07 07:21:42 +09:00]] 版) <http://hepunx.rl.ac.uk/~adye/blooberry/html-old/history/mosaic.htm>
- [122] [CITE[/Mosaic/Unix/source/ のインデックス]] ([TIME[2013-03-05 13:16:59 +09:00]] 版) <ftp://ftp.ncsa.uiuc.edu/Mosaic/Unix/source/>
- [121] [CITE[ncsa-mosaic/libhtmlw/HTML.h at master · alandipert/ncsa-mosaic · GitHub]] ([TIME[2013-03-09 13:08:19 +09:00]] 版) <https://github.com/alandipert/ncsa-mosaic/blob/master/libhtmlw/HTML.h#L486>
]REFS]

[124] [[WinIE]] は 1.0 で既に [CODE(HTMLe)@en[[[base]]]] [[要素]]に対応していたようです [SRC[>>118]]。

** HTML3

[19]
[CODE(HTMLe)[base]] 要素に [CODE(HTMLa)[[[id]]]] を振って、相対 URI 
を使う文脈でどの基底 URI (たとえば画像用の基底 URI) 
を使うのかを選べるようにしたらどうかという案もありました。

''www-html@w3.org from May 1995: Re: <BASE> processing by browsers'' <http://lists.w3.org/Archives/Public/www-html/1995May/0004.html>

** HTML4

[REFS[
- [109] [[HTML 4]]
-- [CITE[12.4 Path information: the [CODE(HTMLe)[BASE]] element]]
<http://www.w3.org/TR/html4/struct/links.html#edef-BASE>
]REFS]

** [CODE[BASE]] 要素 (DjVu XML)

[273] 
[[DjVu XML]]
には
[[HTML]]
の
[CODE[base]]
[[要素]]から派生した
[DFN[[CODE[BASE]]]]
[[要素]]がありました。



** HTML5

[REFS[
-[69]
[CITE[Issues concerning the <base> element and xml:base]] ([[Ian Hickson <ian@...>]] 著, [CODE[2007-05-01 06:53:18 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/10460>
-[71]
[CITE[Re: Issues concerning the <base> element and xml:base]] ([[Ian Hickson <ian@...>]] 著, [CODE[2007-08-07 09:32:28 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/11598>
-[92] [CITE@en[Web Applications 1.0 r5711     Make <base> take effect everywhere, not just as a child of <head>.]]
( ([TIME[2010-12-08 09:22:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5710&to=5711>
-[94] [CITE[''''''[''''''whatwg'''''']'''''' <base> elements, again]]
( ([TIME[2011-05-08 13:38:23 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031511.html>
-[95] [CITE['''['''whatwg''']''' <base> in <body>]]
([TIME[2011-07-20 10:17:19 +09:00]] 版)
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-July/032569.html>
-[97] [CITE[''''''[''''''whatwg'''''']'''''' <base> elements security issue]]
( ([TIME[2011-12-16 08:35:05 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-December/034199.html>
-[99] [CITE@en[Web Applications 1.0 r7266     Update handling of the <base>.href IDL attribute and clarify how 'document's base URL' is defined.]]
( ([TIME[2012-08-25 03:52:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7265&to=7266>
- [126] [CITE@en[Web Applications 1.0 r7962     Make <base> elements not be affected by changes by to the document's address]] ([TIME[2013-06-13 04:05:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=7961&to=7962>
]REFS]

* 統計

[67]
今朝 ([TIME[2007-05-01 02:59:14 +00:00]]) の #whatwg より ([[JST]]):
[FIG[
>
- 08:15 <Hixie> about 5% of sites have 1 <base> tag, apparently
- 08:16 <Hixie> 0.03% have 2
- 08:16 <Hixie> 0.0017% have 3
- 08:16 <Hixie> and a few thousand have more than 3
- 08:18 <Hixie> so we're talking about a few million pages here
- 08:18 <Hixie> with 2 or more <base> elements
- 08:19 <Hixie> oh actually this was only counting _different_ values for <base>
- 08:19 <Hixie> so a few million pages use two different values for <base>
]FIG]

[43] [CITE[IRC logs: freenode / #whatwg / 20070501]], [TIME[2024-09-22T02:38:09.000Z]] <https://krijnhoetmer.nl/irc-logs/whatwg/20070501>


[FIG(data)[ [41] [[HTML要素概説]]

:[F[要素名]]:[CODE[base]]
:日付:[TIME[2007-04-30]]
:説明:
[TIME[2007-04-30]]の [[Ian Hickson]] の [[IRC]] 発言によると、
[[Google検索]]の収集したデータ中、5%の[[Webサイト]]が
[CODE[base]] 
を使っていた。
:出典:
[REFS[

-
[CITE@en[IRC logs: freenode / #whatwg / 20070501]], 
[TIME(.published)[2007-05-01]],
[TIME[2024-09-22T02:38:09.000Z]] <https://krijnhoetmer.nl/irc-logs/whatwg/20070501>

]REFS]

]FIG]


* 例

[28]
[PRE(HTML)[
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
 <HEAD>
   <TITLE>Our Products</TITLE>
   <BASE href="http://www.example.com/products/intro">
 </HEAD>
 <BODY>
   <P>Have you seen our <A href="../cages/birds">Bird Cages</A>?
 </BODY>
</HTML>
]PRE]

[WEAK[(HTML 4 仕様書より、改)]]

この場合、この文書自体の [[URI]] にかかわらず、
[CODE(HTMLe)[a]] 要素のリンク先は
[SAMP(URI)[http://www.example.com/cages/birds]] になります。

* メモ

[117] [CITE@ja[私の近況(2002年11月)]]
( ([TIME[2002-11-18 12:46:37 +09:00]] 版))
<http://www5e.biglobe.ne.jp/~tbs-i/kinkyo/2002/0211.html#18>

[125] ( ([TIME[1998-12-13 04:10:36 +09:00]] 版))
<http://lynx.isc.org/current/CHANGES2.4>

[138] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:28:22 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L145>

[139] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:34:59 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L597>

[1] [CITE@en[This morning's work. · w3c/webappsec-csp@d669817]]
([TIME[2015-10-14 10:57:07 +09:00]] 版)
<https://github.com/w3c/webappsec-csp/commit/d6698170c8eede388bd351773dada7b633988be8>

[2] [CITE@en[Fix base-uri algorithm and grammar. · w3c/webappsec-csp@f4d2db1]]
([TIME[2015-10-14 10:59:22 +09:00]] 版)
<https://github.com/w3c/webappsec-csp/commit/f4d2db1c08534cdd1e36675cc8a93ee0c95d53ba>

[3] [CITE@en[URLs are parsed and produce records · whatwg/html@30bc255]]
([TIME[2016-02-14 22:54:15 +09:00]] 版)
<https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44>

[4] [CITE@en[Wire up CSP's control over the base element · whatwg/html@7bfca70]]
([TIME[2016-04-16 15:37:17 +09:00]] 版)
<https://github.com/whatwg/html/commit/7bfca708707e36bc2a7d5570bedc6dc4383b7676>

[21] [CITE@en[Correct URL parsing of base elements · whatwg/html@2719a51]]
([TIME[2016-04-21 12:51:23 +09:00]] 版)
<https://github.com/whatwg/html/commit/2719a514ebd2ee66813fb5ee92f52e99a1479e78>

[7] [CITE@en[Restrict `<base>` to ~sane schemes. · Issue #2249 · whatwg/html]]
([TIME[2017-01-12 00:29:45 +09:00]])
<https://github.com/whatwg/html/issues/2249>

[FIG(quote)[
[FIGCAPTION[
[23] [CITE@en[Webmention]]
([TIME[2017-01-11 04:06:01 +09:00]])
<https://webmention.net/draft/#h-sender-discovers-receiver-webmention-endpoint>
]FIGCAPTION]

> The endpoint may be a relative URL, in which case the sender must resolve it relative to the target URL according to '''['''URL''']'''.

]FIG]

[24] >>23 の規定は [CODE(HTMLe)@en[base]] [[要素]]を無視しており、 [CITE[HTML Standard]]
と矛盾しています。

[25] [CITE@en[Add a warning about nonces and <base>.]]
([[@arturjanc]]著, [TIME[2017-05-10 18:12:55 +09:00]])
<https://github.com/w3c/webappsec-csp/commit/d48fd5f01143c48a8a3c40ebb169bc865e2d2123>

[29] [CITE@en[Allow customizing base URL of a shadow root · Issue #581 · w3c/webcomponents]]
([TIME[2018-03-08 02:14:46 +09:00]])
<https://github.com/w3c/webcomponents/issues/581>

[30] [CITE[[[HTML の [CODE[base]] 要素の起源に迫ってみた]]]]


[FIG(data)[ [44] [[HTML要素概説]]

:[F[要素名]]:[CODE[base]]
:技術史文献:[SRC[>>45]]
:出典:
[REFS[

- [45] 
[DFN[BASE起源]]
[CITE@ja[HTML の [CODE[base]] 要素の起源に迫ってみた]],
[DATA(.author)@ja[[[わかば]]]],
[TIME(.published jp)[2013-03-26]],
<https://wiki.suikawiki.org/n/HTML%20%E3%81%AE%20base%20%E8%A6%81%E7%B4%A0%E3%81%AE%E8%B5%B7%E6%BA%90%E3%81%AB%E8%BF%AB%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F>

]REFS]

]FIG]
