/
256.txt
554 lines (440 loc) · 24.2 KB
/
256.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
[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 » Blog Archive » 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]
* 歴史
** 構想
[FIG[
[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[
[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[
[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[
[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[
[FIGCAPTION[
[111] <http://suika.suikawiki.org/www/2005/pre-id/html-spec-199303.pdf#page=11>
]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 specified, 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]
[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]
** 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]
今朝 ([WEAK[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]
* 例
[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>