http push - 使用 ssl 的 http 流媒体方法 - 代理会干扰 https 流量吗?

Posted

技术标签:

【中文标题】http push - 使用 ssl 的 http 流媒体方法 - 代理会干扰 https 流量吗?【英文标题】:http push - http streaming method with ssl - do proxies interfere whith https traffic? 【发布时间】:2011-01-16 18:39:15 【问题描述】:

我的问题是关于实现HTTP Server Push的HTTP Streaming Method:

“HTTP 流”机制使请求无限期地保持打开状态。它 永远不会终止请求或关闭连接,即使在 服务器将数据推送到客户端。这种机制显着 减少网络延迟,因为客户端和服务器不 需要打开和关闭连接。

HTTP 流机制基于服务器的能力 在同一个响应中发送多条信息,无需 终止请求或连接。这个结果可以 由 HTTP/1.1 和 HTTP/1.0 服务器实现。

HTTP 协议允许中介 (代理、透明代理、网关等)参与 从服务器到客户端的响应传输。那里 不需要中介立即转发 部分响应,它缓冲整个响应是合法的 向客户端发送任何数据之前的响应(例如,缓存 透明代理)。 HTTP 流将不适用于此类 中介。

如果我使用 HTTPS,是否可以避免代理服务器的上述问题?

【问题讨论】:

【参考方案1】:

HTTPS 不使用 HTTP 代理 - 这会使安全性无效。 HTTPS 连接可以通过一些 HTTP 代理或只是使用 HTTP CONNECT 命令的 HTTP 重定向器路由,该命令建立到目标主机的透明隧道。该隧道对代理完全不透明,代理无法知道传输的内容(它可以尝试修改数据流,但 SSL 层会检测到修改并发送警报和/或关闭连接),即有什么已被 SSL 加密。

更新:对于您的任务,您可以尝试使用 NULL 密码套件之一(如果服务器允许)来减少操作次数,例如不执行加密、匿名密钥交换等(这不会影响代理无法更改您的数据)。

【讨论】:

如果您对 HTTPS 漏洞感兴趣,请使用 Google Man in the Middle 谢谢,我想知道是否 - 即使代理无法读取加密数据 - 代理是否可以缓冲来自我的网络服务器的数据,从而以关键的方式增加响应时间? @Dominik 一般来说,是的,代理可以缓冲数据,但是,任何路由器也可以这样做。路由不透明隧道的代理与普通路由器没有什么不同,只是在更高级别。

以上是关于http push - 使用 ssl 的 http 流媒体方法 - 代理会干扰 https 流量吗?的主要内容,如果未能解决你的问题,请参考以下文章

启用 HTTP2 服务器推送 Nginx

无法使用 perl IO::Socket::SSL 完成与 gateway.push.apple.com 的 SSL 握手

为啥更换ssl证书后http访问不了网站?

如何使用 net/http 在 ruby​​ 中验证 SSL 证书链

HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?

https ssl