当通过HTTPS发送数据时,我知道内容是加密的,但是我听到了关于头部是否被加密,或者多少报头是加密的答案。
HTTPS报头有多少是加密的?
包括GET/POST请求URL、Cookies等。
发布于 2008-10-09 15:05:26
标题是完全加密的。唯一通过网络“清空”的信息与SSL设置和D/H密钥交换有关。这种交换是精心设计的,不会向窃听者提供任何有用的信息,一旦发生这种情况,所有数据都会被加密。
发布于 2015-07-22 13:48:57
旧问题的新答案,对不起。我想我应该把我的$.02
OP询问报头是否被加密。
它们是:正在运输中。
它们不是:当它们不在途中的时候。
因此,浏览器的URL (和标题,在某些情况下)可以显示查询字符串(通常包含最敏感的细节)和标题中的一些细节;浏览器知道一些标题信息(内容类型、unicode等);浏览器历史记录、密码管理、收藏夹/书签和缓存的页面都将包含查询字符串。远程端的服务器日志还可以包含查询字符串以及一些内容细节。
而且,URL并不总是安全的:域、协议和端口是可见的,否则路由器不知道在哪里发送请求。
另外,如果您有HTTP代理,代理服务器知道地址,通常他们不知道完整的查询字符串。
因此,如果数据是移动的,它通常是受保护的。如果不是在运输中,就不会被加密。
不是nit挑选,但最后的数据也被解密,并且可以被解析、读取、保存、转发或任意丢弃。而且,两端的恶意软件可以捕捉数据输入(或退出) SSL协议的快照--例如HTTPS中的页面中的(坏的) Javascript,它可以秘密地对日志网站进行http (或https)调用(因为访问本地硬盘通常受到限制,而没有用)。
另外,cookies也不是在HTTPS协议下加密的。想要在cookie(或其他任何地方)中存储敏感数据的开发人员需要使用自己的加密机制。
至于缓存,大多数现代浏览器不会缓存HTTPS页面,但是HTTPS协议没有定义这个事实,它完全取决于浏览器的开发人员,以确保不缓存通过HTTPS接收到的页面。
所以如果你担心包嗅探,你可能会没事的。但是,如果你担心恶意软件或者有人在浏览你的历史、书签、曲奇或缓存,你还没有脱离困境。
发布于 2008-10-09 22:11:41
HTTPVersion1.1添加了一个特殊的HTTP方法-- CONNECT -用于创建SSL隧道,包括必要的协议握手和加密设置。
此后的常规请求都被包装在SSL隧道、报头和正文中。
https://stackoverflow.com/questions/187655
复制相似问题