-
Notifications
You must be signed in to change notification settings - Fork 4
/
834.txt
173 lines (126 loc) · 8.84 KB
/
834.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
[11] [[応答]]の [DFN[[RUBYB[HTTPS状態]@en[HTTPS state]]]]は、
当該[[応答]]の[[輸送路]]となった [[HTTPS]] ([[HTTP]] over [[TLS]])
の安全性に関する[[利用者エージェント]]の判断を表します。
* 仕様書
[REFS[
- [9] '''[CITE@en-US[Fetch Standard]] ([TIME[2015-09-03 20:55:08 +09:00]] 版) <https://fetch.spec.whatwg.org/#concept-response-https-state>'''
- [19] [CITE@en-US[Fetch Standard]] ([TIME[2015-09-03 20:55:08 +09:00]] 版) <https://fetch.spec.whatwg.org/#concept-basic-fetch>
- [17] [CITE@en-US[Fetch Standard]] ([TIME[2015-09-03 20:55:08 +09:00]] 版) <https://fetch.spec.whatwg.org/#concept-http-network-fetch>
- [21] [CITE@en-US[Fetch Standard]] ([TIME[2015-09-03 20:55:08 +09:00]] 版) <https://fetch.spec.whatwg.org/#dom-response>
- [44] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-11-06 03:51:21 +09:00]] 版) <https://html.spec.whatwg.org/#concept-document-https-state>
- [38] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-09-29 22:07:19 +09:00]] 版) <https://html.spec.whatwg.org/#https-state>
- [24] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-09-29 22:07:19 +09:00]] 版) <https://html.spec.whatwg.org/#concept-workerglobalscope-https-state>
]REFS]
* 意味
[10] [[応答]] [SRC[>>9]]、[[環境設定群オブジェクト]] [SRC[>>38]]、
[CODE(DOMi)@en[[[Document]]]] [SRC[>>44]]、 [CODE(DOMi)@en[[[WorkerGlobalScope]]]] [SRC[>>24]]
は、 [[HTTPS状態]]を持ちます。
[36] その値は [CODE[[[none]]]], [CODE[[[deprecated]]]], [CODE[[[modern]]]]
のいずれかです [SRC[>>9, >>38, >>35, >>24]]。既定値は [CODE[[[none]]]] です
[SRC[>>9, >>35, >>24]]。
[15] [[HTTPS]]でない[[輸送路]]の[[応答]]では、 [DFN[[CODE[[[none]]]]]]
となります。
[12] 通常の [[HTTPS]] 上の[[応答]]では、 [DFN[[CODE[[[modern]]]]]]
となります [SRC[>>9]]。
[13] 移行期間にあると[[利用者エージェント]]が判断した場合は、
[DFN[[CODE[[[deprecated]]]]]] となります [SRC[>>9]]。
[EG[
[14] 使われている[[ハッシュ関数]]が削除されつつある場合、
弱い [[cipher suite]] の場合、
[[内部名]]の[[証明書]]の場合、
極端に長い[[有効期間]]を持つ[[証明書]]の場合などに使えます [SRC[>>9]]。
]EG]
;; [16] 具体的に何が [CODE[[[deprecated]]]] となるかは、
仕様上は規定されていません。一般的にはこれは[[相互運用性]]の問題を生じさせるように思えますが、
[[セキュリティー]]は[[相互運用性]]より重要と考えられており、
また中長期的には [CODE[[[deprecated]]]] なものはやがて未対応に置き換えられてゆく
(ので[[ネットワークエラー]]扱いになる) ため、標準化になじまないのでしょう。
[23] [[環境設定群オブジェクト]]の[[HTTPS状態]]は、
その関連付けられている[[資源]]の配送に使われた[[通信路]]の保安特性を表します [SRC[>>38]]。
実際には対応する[[大域オブジェクト]]の [[HTTPS状態]]となります。
[37] [CODE(DOMi)@en[[[Document]]]] の[[HTTPS状態]]は、
その[[文書]]の配送に使われた[[通信路]]の保安特性を表します [SRC[>>44]]。
[39] [CODE(DOMi)@en[[[WorkerGlobalScope]]]] の[[HTTPS状態]]は、
[[ワーカー]]の[[スクリプト]]の配送に使われた[[通信路]]の保安特性を表します。
[40] [[navigate]] で作られた[[文書]]や [[run a worker]] で作られた[[大域オブジェクト]]には、
作成に使った[[応答]]の [[HTTPS状態]]がコピーされます。
[41] [CODE(JS)@en[[[document.open]]]] ([[overridden reload]]) や [CODE(HTMLa)@en[[[srcdoc]]]]
では、呼び出し元の [[HTTPS状態]]がコピーされます。
;; 詳しくはそれぞれの項を参照。
* 処理
[20] [[basic fetch]] は、
[[basic fetch]] が直接[[応答]]を作成する場合について、
[[応答]]の[[HTTPS状態]]を[[要求のクライアント]]の[[HTTPS状態]]と同じに設定します
[SRC[>>19]]。
[18] [[HTTP-network fetch]] は、 [[HTTPS]] からの[[応答]]について、
[[HTTPS状態]]を [CODE[[[modern]]]] または [CODE[[[deprecated]]]]
に設定します [SRC[>>17]]。
[22] [CODE(DOMi)@en[[[Response]]]] [[コンストラクター]]は、
[[HTTPS状態]]を[[入口設定群オブジェクト]]の[[HTTPS状態]]と同じに設定します
[SRC[>>21]]。
* 関連
[25] [[insecure origin]]、[[insecure URL]] は、定義で[[応答]]の [[HTTPS状態]]を参照しています。
[26] [[Mixed Content]] の可否の判定は、[[環境設定群オブジェクト]]や[[応答]]の
[[HTTPS状態]]を参照しています。
* 歴史
[1] [CITE@en[Introduce authentication state https://www.w3.org/Bugs/Public/show_bug.c... · 6fdb71b · whatwg/fetch]]
( ([TIME[2014-10-30 03:01:53 +09:00]] 版))
<https://github.com/whatwg/fetch/commit/6fdb71b61e8e78efe3e28ff66787dd437a0077e7>
[2] [CITE@en[MIX: Convert checks to environment settings objects. · d065309 · w3c/webappsec]]
( ([TIME[2014-10-30 03:03:29 +09:00]] 版))
<https://github.com/w3c/webappsec/commit/d06530978dafbd99881ca74f93ed67d720b161da>
[3] [CITE@en[Authentication state -> TLS state · b81881d · whatwg/fetch]]
( ([TIME[2014-11-01 03:35:25 +09:00]] 版))
<https://github.com/whatwg/fetch/commit/b81881daad0ab1343ae2b265d9345cdfaf56288e>
[4] [CITE@en[MIX: s/authentication state/TLS state/g · 8372db0 · w3c/webappsec]]
( ([TIME[2014-11-01 03:35:44 +09:00]] 版))
<https://github.com/w3c/webappsec/commit/8372db04445a26ca4b93053d4127b4581eca37ce>
[5] [CITE@en[Rename TLS state to HTTPS state to avoid confusion with OE. · whatwg/fetch@7022094]] ([TIME[2015-04-09 23:41:19 +09:00]] 版) <https://github.com/whatwg/fetch/commit/7022094593d63c599b521270e684461739cb0f57>
[6] [CITE@en[Re: CfC: Mixed Content to PR; deadline July 6th.]]
([[Mike West]] 著, [TIME[2015-07-06 23:51:33 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-webappsec/2015Jul/0037.html>
[7] [CITE@en[MIX: Drop 'deprecated TLS-protection'. · w3c/webappsec@2fa9d67]]
([TIME[2015-07-07 11:54:18 +09:00]] 版)
<https://github.com/w3c/webappsec/commit/2fa9d6757123cd3e4d53a347ba8bc57437c5d292>
[8] [CITE@en[Rename HTTPS state one last time. Give examples for "deprecated". Fix… · whatwg/fetch@ee99e4a]]
([TIME[2015-07-28 12:09:57 +09:00]] 版)
<https://github.com/whatwg/fetch/commit/ee99e4aaf597a0647f35b0db34aaee7f05862713>
[FIG(quote)[
[FIGCAPTION[
[27] [CITE[IRC logs: freenode / #whatwg / 20150909]]
([TIME[2015-09-10 11:20:49 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20150909>
]FIGCAPTION]
>
> # '''['''13:36''']''' <annevk> OE ruined the term TLS for me
> # '''['''13:43''']''' <mkwst> Yup. Totally understood.
> # '''['''13:48''']''' <Ms2ger> OE?
> # '''['''13:48''']''' <mkwst> opportunistic encryption
]FIG]
[28] [CITE@en[MIX: HTTPS state update. · w3c/webappsec@06ac637]]
([TIME[2015-09-10 11:30:17 +09:00]] 版)
<https://github.com/w3c/webappsec/commit/06ac637d5768b1a8af9db89dc42d814f7eb84942>
[29] [CITE@en[SECURE: HTTPS state update. · w3c/webappsec@ef42844]]
([TIME[2015-09-10 11:30:26 +09:00]] 版)
<https://github.com/w3c/webappsec/commit/ef42844de9cedc7e53da863ccca72f2721a214e3>
[30] [CITE[IRC logs: freenode / #whatwg / 20150922]]
([TIME[2015-09-23 13:33:34 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20150922>
[31] [CITE@en[27147 – Expose HTTPS state on responses]]
([TIME[2015-09-23 13:34:07 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=27147>
[32] [CITE@en[SECURE: Drop the flag on the environment settings object. · w3c/webappsec@90210b3]]
([TIME[2015-09-25 19:06:09 +09:00]] 版)
<https://github.com/w3c/webappsec/commit/90210b3ae0e70408cb6a8640d3a647f610630502>
[33] [CITE@en[xref HTTPS state · whatwg/fetch@21dee64]]
([TIME[2015-09-27 14:21:45 +09:00]] 版)
<https://github.com/whatwg/fetch/commit/21dee646c93b2e7aada1bfb638b18e0bd7697588>
[34] [CITE@en[Add 'HTTPS state' to settings objects · whatwg/html@6de5241]] ([TIME[2015-09-29 23:41:32 +09:00]] 版) <https://github.com/whatwg/html/commit/6de524157fcf341e10efb3eec634bcf7325e6ee4>
[42] [CITE@en[Add a note about HTTPS state. · w3c/webappsec-secure-contexts@a9603f8]]
([TIME[2015-10-22 11:48:14 +09:00]] 版)
<https://github.com/w3c/webappsec-secure-contexts/commit/a9603f8acbc701963555ba1b94eae935ebbb196c>
[43] [CITE[IRC logs: freenode / #whatwg / 20151105]]
([TIME[2015-11-06 17:56:01 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20151105>
- [35] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-09-29 22:07:19 +09:00]] 版) <https://html.spec.whatwg.org/#concept-window-https-state>
[45] [CITE@en[Move 'HTTPS state' from Window to Document · whatwg/html@68390ce]] ([TIME[2015-11-06 23:26:26 +09:00]] 版) <https://github.com/whatwg/html/commit/68390cea99f9f19881a16e1c8adaf1b130b4d1cc>