Máy khách không thể xử lý thử thách xác thực của proxy cho đến khi có phản hồi HTTP đầy đủ để phân tích. Dòng trạng thái và trường Proxy-Authenticate vẫn cần dòng trống kết thúc phần đầu.

Một phản hồi HTTP/1.1 tối thiểu không có thân có cấu trúc như sau:

HTTP/1.1 407 Proxy Authentication Required<CRLF>
Proxy-Authenticate: Basic realm="local-proxy"<CRLF>
Content-Length: 0<CRLF>
<CRLF>

Mỗi dấu CRLF đại diện cho byte xuống dòng và về đầu dòng, không phải văn bản dấu theo nghĩa đen. Dòng đầu cuối cùng đã kết thúc bằng CRLF; CRLF bổ sung tạo ra dòng trống. Content-Length cho biết không có thân nào theo sau.

Gửi hoặc xả toàn bộ phản hồi trước khi chờ yêu cầu khác. Trên socket thô, hãy tính cả những lần ghi gửi ít byte hơn yêu cầu.

407 yêu cầu ít nhất một thử thách Proxy-Authenticate áp dụng được. Nếu máy khách hỗ trợ lược đồ được đề nghị và lấy được thông tin xác thực, nó có thể thử lại bằng Proxy-Authorization. Các trường 401 và WWW-Authenticate của một trang web liên quan đến một chặng khác.

Thử thách Basic này là ví dụ về đóng khung, không phải thiết kế xác thực đầy đủ. Thông tin xác thực Basic cần kết nối được bảo vệ khi tính bảo mật quan trọng. Việc gửi thử thách cũng không triển khai xác thực mật khẩu, phân tích yêu cầu hay đường hầm CONNECT.

Bài viết liên quan