关于安全性:HTTPS标头是否已加密?

Are HTTPS headers encrypted?

当通过HTTPS发送数据时,我知道内容是加密的,但是我听到了关于头是加密的还是有多少头是加密的混合答案。

多少HTTPS头是加密的?

包括获取/发布请求URL、cookie等。


整批都加密了?-所有的标题。这就是为什么vhosts上的ssl不能很好地工作-您需要一个专用的IP地址,因为主机头是加密的。

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


头是完全加密的。通过"清除"网络传输的唯一信息与SSL设置和D/H密钥交换有关。这种交换经过精心设计,不会向窃听者提供任何有用的信息,一旦发生,所有数据都会被加密。


HTTP版本1.1添加了一个特殊的HTTP方法connect,用于创建SSL隧道,包括必要的协议握手和加密设置。之后的常规请求都以包含在ssl隧道、头和主体中的形式发送。


旧问题的新答案,对不起。我想我应该加上我的0.02美元

操作询问头是否加密。

它们是:在运输途中。

它们不是:不在运输途中。

因此,浏览器的URL(以及标题,在某些情况下)可以在头中显示查询字符串(通常包含最敏感的详细信息)和一些详细信息;浏览器知道一些头信息(内容类型、Unicode等);浏览器历史记录、密码管理、收藏夹/书签和缓存页面都将包含查询字符串。远程端的服务器日志还可以包含querystring以及一些内容详细信息。

此外,URL并不总是安全的:域、协议和端口是可见的-否则路由器不知道在哪里发送请求。

另外,如果您有一个HTTP代理,代理服务器就知道地址,通常它们不知道完整的查询字符串。

因此,如果数据正在移动,它通常是受保护的。如果它不在传输中,就不会被加密。

不是为了吹毛求疵,但最后的数据也被解密,可以随意解析、读取、保存、转发或丢弃。而且,任何一端的恶意软件都可以截取进入(或退出)SSL协议的数据的快照-例如,在https中的页面内有(坏)javascript,它可以秘密地对日志网站进行http(或https)调用(因为对本地硬盘驱动器的访问通常受到限制,而且不有用)。

另外,cookie也不在https协议下加密。想要将敏感数据存储在cookie中(或与此相关的任何其他地方)的开发人员需要使用自己的加密机制。

至于缓存,大多数现代浏览器不会缓存HTTPS页面,但这一事实并不是由HTTPS协议定义的,它完全依赖于浏览器的开发人员,以确保不会缓存通过HTTPS接收的页面。

所以如果你担心包嗅探,你可能没事。但是如果你担心恶意软件或者有人在你的历史、书签、饼干或者缓存中翻找,你还没有脱离困境。


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

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


HTTPS(HTTP over SSL)通过SSL tunel发送所有HTTP内容,因此HTTP内容和头也被加密。


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

Everything in the HTTPS message is encrypted, including the headers, and the request/response load.


该URL也被加密,您实际上只有IP、端口和未加密的主机名(如果是SNI)。