Proxy-Authenticate 头
HTTP Proxy-Authenticate
响应头定义了获取代理服务器背后资源所需的认证方法(或质询)。它在 407 Proxy Authentication Required
响应中发送,以便客户端可以向需要认证的代理表明身份。
语法
Proxy-Authenticate: <challenge>, …
该值是一个逗号分隔的质询列表,其中 <challenge>
由一个 <auth-scheme>
组成,后跟一个可选的 <token68>
或一个逗号分隔的 <auth-params>
列表。
challenge = <auth-scheme> <auth-param>, …, <auth-paramN> challenge = <auth-scheme> <token68>
例如
Proxy-Authenticate: <auth-scheme>
Proxy-Authenticate: <auth-scheme> token68
Proxy-Authenticate: <auth-scheme> auth-param1=param-token1
Proxy-Authenticate: <auth-scheme> auth-param1=param-token1, …, auth-paramN=param-tokenN
token68
或认证参数的存在取决于所选的 <auth-scheme>
。例如,基本认证需要一个 <realm>
,并允许可选使用 charset
键,但不支持 token68
。
Proxy-Authenticate: Basic realm="Dev", charset="UTF-8"
指令
<auth-scheme>
-
一个不区分大小写的令牌,指示所使用的认证方案。一些常见的类型是
Basic
、Digest
、Negotiate
和AWS4-HMAC-SHA256
。IANA 维护着一个认证方案列表,但主机服务也提供其他方案。 <auth-param>
可选-
一个认证参数,其格式取决于
<auth-scheme>
。<realm>
在下面描述,因为它在许多认证方案中是一个常见的认证参数。<realm>
可选-
字符串
realm
后跟=
和一个用引号括起来的字符串,描述一个受保护区域,例如realm="staging environment"
。领域允许服务器划分其保护的区域(如果方案支持此划分)。有些客户端会将此值显示给用户,以告知他们需要哪些特定的凭据——尽管大多数浏览器已停止这样做以应对网络钓鱼。此值唯一可靠支持的字符集是us-ascii
。如果未指定领域,客户端通常会显示格式化的主机名。
<token68>
可选-
一个对某些方案可能很有用的令牌。该令牌允许 66 个未保留的 URI 字符以及其他一些字符。它可以包含 base64、base64url、base32 或 base16(十六进制)编码,带或不带填充,但排除空白字符。支持
token68
作为 auth-param 列表的替代方案,以与旧式认证方案保持一致。
通常,您需要查看每个 <auth-scheme>
所需认证参数的相关规范。
注意:有关认证参数的更多详细信息,请参阅WWW-Authenticate
。
示例
Proxy-Authenticate 基本认证
以下响应表明需要具有领域的“基本认证”方案。
Proxy-Authenticate: Basic realm="Staging server"
规范
规范 |
---|
HTTP 语义 # field.proxy-authenticate |
浏览器兼容性
加载中…