Proxy-Authenticate 頭

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

HTTP Proxy-Authenticate 響應頭定義了獲取代理伺服器背後資源所需的認證方法(或質詢)。它在 407 Proxy Authentication Required 響應中傳送,以便客戶端可以向需要認證的代理表明身份。

頭型別 響應頭
禁止請求頭

語法

http
Proxy-Authenticate: <challenge>, …

該值是一個逗號分隔的質詢列表,其中 <challenge> 由一個 <auth-scheme> 組成,後跟一個可選的 <token68> 或一個逗號分隔的 <auth-params> 列表。

challenge = <auth-scheme> <auth-param>, …, <auth-paramN>
challenge = <auth-scheme> <token68>

例如

http
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

http
Proxy-Authenticate: Basic realm="Dev", charset="UTF-8"

指令

<auth-scheme>

一個不區分大小寫的令牌,指示所使用的認證方案。一些常見的型別是 BasicDigestNegotiateAWS4-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 基本認證

以下響應表明需要具有領域的“基本認證”方案。

http
Proxy-Authenticate: Basic realm="Staging server"

規範

規範
HTTP 語義
# field.proxy-authenticate

瀏覽器相容性

另見