/
324.txt
116 lines (90 loc) · 5.2 KB
/
324.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
[1] [CITE@en[Root name server - Wikipedia, the free encyclopedia]]
([TIME[2015-01-17 03:15:25 +09:00]] 版)
<http://en.wikipedia.org/wiki/Root_name_server#Root_domain>
* ドメイン名の末尾の点
[2] [CODE[example.com.]] のように[[ドメイン名]]の末尾に [CODE[.]]
を付けることで、 [[FQDN]] であることを明示的に示すことができます。
この [CODE[.]] は [[TLD]] より上位にある root domain (名前 = [[空文字列]])
との区切りを表しているとされています。
[3] [[Web]] においては、[[末尾の点]]付きの[[ドメイン]]とそうでない[[ドメイン]]は、
異なるとみなされます。例えば [[URLの正準化]]でこれらは同じとはみなされません。
[CODE(HTTP)@en[Host:]] や [[SNI]] でも[[末尾の点]]はそのまま送信されます。
;; [[authority]] を参照。
[4] [[クッキー]]の [CODE(HTTP)[Domain]] [[属性]]では、[[末尾の点]]は認められていません。
指定されると[[属性]]全体が無視されることになっています。
[11] こうした理由から [[Web]] で[[末尾の点]]が使われることは滅多にありません。
[36] しかし <http://to./> のように [[TLD]] にアクセスしたい時は[[内部名]]と誤認されることを防ぐため [CODE[[[.]]]]
を明示します。
[14] [CODE[localhost.]] やその他 [CODE[/etc/hosts]] で定義された名前と[[末尾の点]]の組み合わせについて、
[TIME[2016-05-08T05:27:45.00Z]]
[FIG(list)[
- [16] [[末尾の点]]なしでのみ定義されている場合、
[[Windows]] では[[末尾の点]]付きでも[[名前解決]]できますが、
[[Linux]] ではエラーとします。
- [17] [[末尾の点]]1つつきで定義されている場合、
[[Windows]] ではそのままでも[[末尾の点]]を除去したものでも[[名前解決]]できますが、
[[Linux]] ではそのままでのみ[[名前解決]]できます。
- [18] [[末尾の点]]2つ以上つきで定義されている場合、
[[Windows]] では[[名前解決]]できませんが、
[[Linux]] ではそのままなら[[名前解決]]できます。
]FIG]
[19] [[Chrome]] の[[アドレスバー]]では[[末尾の点]]が複数あると、1つに正規化されます。
[[URLの解決]]ではこの正規化は行われません。
[[Firefox]] の[[アドレスバー]]でもこの正規化は行われません。 [TIME[2016-05-08T05:32:18.500Z]]
[15] [[service identity]] の検証において、
[[Chrome]] も [[Firefox]] も、
[[証明書]]に[[末尾の点]]が含まれない場合、
[[末尾の点]]付きの[[ドメイン名]]でも一致するものと判断します。
[[証明書]]に[[末尾の点]]が含まれる場合、
[[Chrome]] は一致しないと判断しますが、 [[Firefox]]
は一致すると判断します。 [TIME[2016-05-08T07:56:09.700Z]]
* メモ
[FIG(quote)[
[FIGCAPTION[
[5] [CITE@en[RFC 2181 - Clarifications to the DNS Specification]]
([TIME[2015-04-27 15:13:44 +09:00]] 版)
<https://tools.ietf.org/html/rfc2181#section-11>
]FIGCAPTION]
> The zero
length full name is defined as representing the root of the DNS tree,
and is typically written and displayed as ".".
]FIG]
[FIG(quote)[
[FIGCAPTION[
[6] [CITE@en[RFC 5731 - Extensible Provisioning Protocol (EPP) Domain Name Mapping]]
([TIME[2015-03-22 17:40:40 +09:00]] 版)
<https://tools.ietf.org/html/rfc5731#section-2.1>
]FIGCAPTION]
> The trailing
> dot required when these names are stored in a DNS zone is implicit
> and MUST NOT be provided when exchanging host and domain names.
]FIG]
[7] [CITE@en[134402 – URLs with trailing dots in host names (FQDN) produce cert name mismatches]]
([TIME[2015-08-18 12:12:13 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=134402>
[8] [CITE@en[774769 – strict transport security can be defeated by using a FQDN]]
([TIME[2015-08-18 12:12:18 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=774769>
[9] [CITE@en[27266 – Deal with domain names and trailing dots]]
([TIME[2015-08-18 12:12:35 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=27266#c1>
[10] [CITE@en[774769 – strict transport security can be defeated by using a FQDN]]
([TIME[2015-08-18 12:12:26 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=774769>
[12] [CITE@en[Appended period to hostnames can bypass HPKP and HSTS protections — Mozilla]]
([TIME[2015-08-07 05:20:29 +09:00]] 版)
<https://www.mozilla.org/en-US/security/advisories/mfsa2015-13/>
[FIG(quote)[
[FIGCAPTION[
[13] [CITE@en[RFC 7622 - Extensible Messaging and Presence Protocol (XMPP): Address Format]]
([TIME[2015-12-08 07:08:54 +09:00]] 版)
<https://tools.ietf.org/html/rfc7622>
]FIGCAPTION]
> If the domainpart includes a final character considered to be a label
separator (dot) by '''['''RFC1034''']''', this character MUST be stripped from
the domainpart before the JID of which it is a part is used for the
purpose of routing an XML stanza, comparing against another JID, or
constructing an XMPP URI or IRI '''['''RFC5122''']'''. In particular, such a
character MUST be stripped before any other canonicalization steps
are taken.
]FIG]