当通过HTTPS发送数据时,我知道内容是加密的,但是关于头是否加密,或者头加密了多少,我听到了不同的答案。

有多少HTTPS头是加密的?

包括GET/POST请求url, cookie等。


当前回答

HTTP版本1.1增加了一个特殊的HTTP方法CONNECT——用于创建SSL隧道,包括必要的协议握手和加密设置。 之后的常规请求都包裹在SSL隧道中发送,包括头部和主体。

其他回答

所有HTTP头都是加密的†。 这就是为什么vhosts上的SSL工作得不太好——你需要一个专用的IP地址,因为Host头是加密的。

†服务器名称识别(SNI)标准意味着如果您使用TLS,主机名可能不会加密。此外,无论你是否使用SNI, TCP和IP头都不会加密。(如果是的话,你的包就不能路由了。)

使用SSL,加密是在传输级别,因此它在发送请求之前进行。

所以请求中的所有内容都是加密的。

是的,头文件是加密的。写在这里。

HTTPS消息中的所有内容都是加密的,包括头和请求/响应负载。

头部是完全加密的。在网络上“明确”传递的唯一信息与SSL设置和D/H密钥交换有关。这种交换经过精心设计,不会向窃听者提供任何有用的信息,而且一旦发生,所有数据都是加密的。

URL也是加密的,你只有IP,端口和SNI,主机名是未加密的。