/
948.txt
107 lines (80 loc) · 5.57 KB
/
948.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
[3] [DFN[[CODE(HTTP)@en[[[Proxy-Authenticate:]]]]]] [[ヘッダー]]は、
[[串]]における[[HTTP認証]]が必要であることを示すものです。
* 仕様書
[REFS[
- [1] '''[CITE@en[RFC 7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication]] ([TIME[2014-09-11 10:01:28 +09:00]] 版) <https://tools.ietf.org/html/rfc7235#section-4.3>'''
- [10] [CITE@en[RFC 2326 - Real Time Streaming Protocol (RTSP)]] ([TIME[2014-10-19 05:24:58 +09:00]] 版) <http://tools.ietf.org/html/rfc2326#section-12.26>
- [8] [CITE@en[RFC 3261 - SIP: Session Initiation Protocol]] ([TIME[2014-08-15 14:48:03 +09:00]] 版) <http://tools.ietf.org/html/rfc3261#section-20.27>
- [9] [CITE@en[RFC 3261 - SIP: Session Initiation Protocol]] ([TIME[2014-08-15 14:48:03 +09:00]] 版) <http://tools.ietf.org/html/rfc3261#section-22.3>
]REFS]
* 意味
[3] [CODE(HTTP)@en[[[Proxy-Authenticate:]]]] [[ヘッダー]]は、
当該[[実効要求URL]]についての[[串]]で適用される[[認証方式]](群)と[[認証引数]]を示すものです
[SRC[>>1]]。
;; [7] [[起源鯖]]における[[HTTP認証]]のための [CODE(HTTP)@en[[[WWW-Authenticate:]]]]
[[ヘッダー]]に相当します。
* 構文
[4] 1つ以上の [[challenge]] の[[リスト]] ([CODE(HTTP)[#]]) です [SRC[>>1]]。
[FIG(railroad)[
= [[challenge]]
= *
== [[OWS]]
== [CODE(HTTP)[[[,]]]]
== [[OWS]]
== [[challenge]]
]FIG]
* 文脈
[410] [[串]]は、 [CODE(HTTP)@en[[[407]]]] [[応答]]を[[生成]]する場合、
[CODE(HTTP)@en[[[Proxy-Authenticate:]]]] [[ヘッダー]]を含めなければ[['''なりません''']]
[SRC[>>1, >>408, >>414]]。
* 処理モデル
[5] [[応答]]の [CODE(HTTP)@en[[[Proxy-Authenticate:]]]] [[ヘッダー]]は[[外向き]]に次の[[クライアント]]にのみ適用されます。これは普通は特定の[[串]]を選んだ[[クライアント]]のみがその[[串]]の
[[credentials]] を有しているであろうからです。しかし組織内のネットワークなどで多段に[[串]]を使っている場合には、数段先まで[[転送]]されることもあります。 [SRC[>>1]]
;; [412] この[[ヘッダー]]は [[hop-by-hop header]] [SRC[>>411, >>415]] とされていましたが、
[[RFC 723x]] 世代ではこの分類はなくなっています。
;; [6] [[接続オプション]]として使われるものでは無いようです。
* 歴史
** RFC 第2世代
[REFS[
- [408] [CITE@en[RFC 2068 - Hypertext Transfer Protocol -- HTTP/1.1]] ([TIME[2012-02-18 23:30:14 +09:00]] 版) <http://tools.ietf.org/html/rfc2068#section-10.4.8>
- [411] [CITE@en[RFC 2068 - Hypertext Transfer Protocol -- HTTP/1.1]] ([TIME[2012-02-18 23:30:14 +09:00]] 版) <http://tools.ietf.org/html/rfc2068#section-13.5.1>
- [413] '''[CITE@en[RFC 2068 - Hypertext Transfer Protocol -- HTTP/1.1]] ([TIME[2012-02-18 23:30:14 +09:00]] 版) <http://tools.ietf.org/html/rfc2068#section-14.33>'''
]REFS]
** RFC 第3世代
[REFS[
- [414] [CITE@en[RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1]] ([TIME[2012-01-09 20:55:20 +09:00]] 版) <http://tools.ietf.org/html/rfc2616#section-10.4.8>
- [415] [CITE@en[RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1]] ([TIME[2012-01-09 20:55:20 +09:00]] 版) <http://tools.ietf.org/html/rfc2616#section-13.5.1>
- [417] '''[CITE@en[RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1]] ([TIME[2012-01-09 20:55:20 +09:00]] 版) <http://tools.ietf.org/html/rfc2616#section-14.33>'''
]REFS]
[FIG(quote)[
[FIGCAPTION[
[409] RFC 2068・2616 (HTTP/1.1) 14.33 Proxy-Authenticate
]FIGCAPTION]
> The Proxy-Authenticate response-header field MUST be included as part
of a 407 (Proxy Authentication Required) response. The field value
consists of a challenge that indicates the authentication scheme and
parameters applicable to the proxy for this Request-URI.
[DFN[[CODE(HTTP)[Proxy-Authenticate]] [[応答頭欄]]]]は、
[CODE(HTTP)[[[407]]]] (串認証が必要) [[応答]]に含めなければ'''なりません'''。
欄値は、その [CODE(ABNF)[[[Request-URI]]]] の[[串]]に適用可能な認証方式と引数を示す[[誰何]]から成ります。
>
-[DEL[ Proxy-Authenticate = "Proxy-Authenticate" ":" challenge ]]
-[INS[ Proxy-Authenticate = "Proxy-Authenticate" ":" 1#challenge ]]
> The HTTP access authentication process is described in [DEL[section 11]] [INS["HTTP Authentication: Basic and Digest Access Authentication" [43] ]].
Unlike WWW-Authenticate, the Proxy-Authenticate header field applies
only to the current connection and SHOULD NOT be passed on to downstream clients.
However, an intermediate proxy [DEL[may]] [INS[might]] need to obtain
its own credentials by requesting them from the downstream client,
which in some circumstances will appear as if the proxy is forwarding
the Proxy-Authenticate header field.
HTTP 接続認証過程は [[RFC2617]] で説明しています。
[CODE(HTTP)[[[WWW-Authenticate]]]] とは違って、
[CODE(HTTP)[[[Proxy-Authenticate]]]] 頭欄は現在の[[接続]]にのみ適用され、
[[下流]][[クライアント]]に渡す'''べきではありません'''。
しかし、[[中間串]]は、自身の[[証明書]]を得るために下流クライアントにこれを要求する必要があるかもしれませんから、場合によっては串が
[CODE(HTTP)[Proxy-Authenticate]] 頭欄を転送しているかのように見えることになります。
]FIG]
** RFC 第4世代
[REFS[
- [2] '''[CITE@en[RFC 7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication]] ([TIME[2014-09-11 10:01:28 +09:00]] 版) <https://tools.ietf.org/html/rfc7235#section-4.3>'''
]REFS]