HTTPS标头是否已加密?

时间:2008-10-09 15:00:36

标签: security post encryption https get

通过HTTPS发送数据时,我知道内容已加密,但我听到有关标题是否已加密或标题加密程度的混合答案。

有多少HTTPS标头 加密了?

包括GET / POST请求网址,Cookie等

8 个答案:

答案 0 :(得分:484)

整批都是加密的 - 所有标题。 这就是为什么SSL on vhosts工作得不好 - 你需要一个专用的IP地址,因为主机头是加密的。

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

答案 1 :(得分:91)

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

答案 2 :(得分:52)

HTTP版本1.1添加了一个特殊的HTTP方法CONNECT--用于创建SSL隧道,包括必要的协议握手和加密设置。
此后的常规请求将全部包含在SSL隧道,标头和正文中。

答案 3 :(得分:51)

旧问题的新答案,对不起。我以为我会加我的$ .02

OP询问标头是否已加密。

他们是:在途中。

他们不是:不在途中。

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

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

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

因此,如果数据正在移动,它通常会受到保护。如果它没有传输,则不加密。

不要挑选,但最后的数据也会被解密,并且可以随意解析,读取,保存,转发或丢弃。并且,任何一端的恶意软件都可以拍摄进入(或退出)SSL协议的数据的快照 - 例如(在HTML内部的页面内的(坏)Javascript,它可以偷偷地对登录网站进行http(或https)调用(因为访问本地硬盘)通常是受限制的,没有用处。)

此外,Cookie也不会在HTTPS协议下加密。希望将敏感数据存储在cookie中(或其他任何地方)的开发人员需要使用自己的加密机制。

对于缓存,大多数现代浏览器都不会缓存HTTPS页面,但这个事实不是由HTTPS协议定义的,它完全依赖于浏览器的开发者,以确保不会缓存通过HTTPS接收的页面。 / p>

所以如果你担心数据包嗅探,你可能还可以。但是,如果您担心恶意软件或某人在浏览您的历史记录,书签,Cookie或缓存时,您还没有离开水域。

答案 4 :(得分:41)

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

因此请求中的所有内容都已加密。

答案 5 :(得分:37)

HTTPS(HTTP over SSL)通过SSL隧道发送所有HTTP内容,HTTP内容和标头也被加密。

答案 6 :(得分:19)

是的,标题已加密。它写成here

  

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

答案 7 :(得分:6)

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