Proxy-Authenticate header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Tiêu đề HTTP Proxy-Authenticate response header xác định phương pháp xác thực (hoặc thử thách) nên được sử dụng để có quyền truy cập vào tài nguyên đằng sau proxy server. Nó được gửi trong phản hồi 407 Proxy Authentication Required để máy khách có thể xác định mình với proxy yêu cầu xác thực.

Loại tiêu đề Response header

Cú pháp

http
Proxy-Authenticate: <challenge>, …

Giá trị là danh sách các thử thách phân tách bằng dấu phẩy, trong đó <challenge> bao gồm <auth-scheme>, theo sau là <token68> tùy chọn hoặc danh sách <auth-params> phân tách bằng dấu phẩy:

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

Ví dụ:

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

Sự hiện diện của token68 hoặc các tham số xác thực phụ thuộc vào <auth-scheme> được chọn. Ví dụ: xác thực Basic yêu cầu <realm>, và cho phép sử dụng tùy chọn khóa charset, nhưng không hỗ trợ token68:

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

Chỉ thị

<auth-scheme>

Token không phân biệt chữ hoa chữ thường chỉ báo phương án xác thực được sử dụng. Một số loại phổ biến hơn là Basic, Digest, NegotiateAWS4-HMAC-SHA256. IANA duy trì danh sách các phương án xác thực, nhưng có các phương án khác được các dịch vụ máy chủ cung cấp.

<auth-param> Optional

Tham số xác thực có định dạng phụ thuộc vào <auth-scheme>. <realm> được mô tả bên dưới vì nó là tham số xác thực phổ biến trong nhiều phương án auth.

<realm> Optional

Chuỗi realm theo sau = và chuỗi được trích dẫn mô tả vùng được bảo vệ, ví dụ realm="staging environment". Realm cho phép máy chủ phân vùng các vùng nó bảo vệ (nếu được hỗ trợ bởi phương án cho phép phân vùng như vậy). Một số máy khách hiển thị giá trị này cho người dùng để thông báo về thông tin xác thực cụ thể nào được yêu cầu — mặc dù hầu hết trình duyệt đã ngừng làm như vậy để chống phishing. Bộ ký tự được hỗ trợ đáng tin cậy duy nhất cho giá trị này là us-ascii. Nếu không có realm nào được chỉ định, máy khách thường hiển thị tên máy chủ được định dạng thay thế.

<token68> Optional

Token có thể hữu ích cho một số phương án. Token cho phép 66 ký tự URI không dành riêng cộng thêm một vài ký tự khác. Nó có thể giữ mã hóa base64, base64url, base32, hoặc base16 (hex), có hoặc không có padding, nhưng không bao gồm khoảng trắng. Thay thế token68 cho danh sách auth-param được hỗ trợ để nhất quán với các phương án xác thực cũ.

Thông thường, bạn sẽ cần kiểm tra các thông số kỹ thuật liên quan cho các tham số xác thực cần thiết cho mỗi <auth-scheme>.

Note: Xem WWW-Authenticate để biết thêm chi tiết về các tham số xác thực.

Ví dụ

Xác thực Basic với Proxy-Authenticate

Phản hồi sau chỉ báo rằng cần phương án xác thực Basic với realm:

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

Đặc tả

Specification
HTTP Semantics
# field.proxy-authenticate

Khả năng tương thích trình duyệt

Xem thêm