当你拿到时
https://encrypted.google.com/search?q=%s
该%s
查询加密?还是只是回应?如果不是,谷歌为什么要通过加密服务它的公共内容呢?
Mar*_*tos 136
整个请求都是加密的,包括URL,甚至是命令(GET
).代理服务器等中介方唯一可以收集的是目标地址和端口.
但请注意,TLS握手的客户端Hello数据包可以通过SNI扩展(感谢@hafichuk)以明文形式通告完全限定的域名,所有现代主流浏览器都使用该扩展,但有些只在较新的操作系统上使用.
编辑:(因为这只是给我一个"好答案"徽章,我想我应该回答整个问题...)
整个响应也是加密的; 代理人不能拦截它的任何部分.
Google通过https提供搜索和其他内容,因为并非所有内容都是公开的,您可能还想隐藏MITM中的一些公开内容.无论如何,最好让谷歌自己回答.
Tho*_*mas 59
URL本身是加密的,因此查询字符串中的参数不会通过网络传输.
但是,请记住,包括GET数据的URL通常由Web服务器记录,而POST数据很少.所以如果你打算做类似的事情/login/?username=john&password=doe
,那就不要; 改为使用POST.
DVK*_*DVK 20
HTTPS在传输任何HTTP数据之前建立基础SSL连接.这可确保所有URL数据(主机名除外,用于建立连接)仅在此加密连接中承载,并且与任何HTTPS数据相同,可以防止中间人攻击.
以上是来自Google Answers的非常全面的答案的一部分:
http://answers.google.com/answers/threadview/id/758002.html#answer
lev*_*501 15
安全地发送主机名后的URL部分.
例如, https://somewhere.com/index.php ?NAME = .FIELD
该/index.php?NAME=FIELD
部分已加密.事实somewhere.com
并非如此.
一切都是加密的,但你需要记住,你的查询将保留在服务器的日志中,并且可以被各种日志分析器等访问(这通常不是POST请求的情况).
我刚刚通过 HTTPS 连接到一个网站并传递了一堆 GET 参数。然后我使用wireshark来嗅探网络。使用 HTTP 发送的 URL 是未加密的,这意味着我可以很容易地看到 URL 中的所有 GET 参数。使用 HTTPS,一切都被加密,我什至看不到哪个数据包是 GET 命令,更不用说它的内容了!
归档时间: |
|
查看次数: |
66715 次 |
最近记录: |