基于 此示例,HTTP CONNECT 请求可以具有
Host
和 Proxy-Authorization
标头。
CONNECT server.example.com:80 HTTP/1.1\r\n
Host: server.example.com:80\r\n
Proxy-Authorization: basic aGVsbG86d29ybGQ=\r\n\r\n
Proxy-Authorization
标题是可选的。
Host
标头also是可选的吗?我们(作为代理服务器)是否应该接受如下请求而不添加额外的标头行?
CONNECT server.example.com:443 HTTP/1.1\r\n\r\n
A client MUST include a Host header field in all HTTP/1.1 request messages .
CONNECT 请求是 HTTP 请求。因此,只要请求行指定 HTTP/1.1,即使在 CONNECT 请求中,Host 标头也是必需的。如果您想严格遵守标准,您的代理服务器不应接受没有此标头的 HTTP/1.1 请求。