HTTP升级机制的支持程度如何?

Jon*_*ein 10 ssl http

我一直在研究HTTP 1.1(RFC 2817)中的Upgrade头字段,碰巧读了HTTP的维基百科条目.那篇文章有以下声明:

"然而,浏览器对Upgrade头的支持几乎不存在,因此HTTPS仍然是建立安全HTTP连接的主要方法."

我希望实现我的Web服务,以便它依赖于Upgrade头字段,以避免必须侦听两个套接字(一个用于HTTP,另一个用于HTTPS).这个陈述,我无法验证任何其他地方,让我有点紧张.维基百科上面的陈述是否接近正确或是否是一个粗略的概括?

phe*_*e23 2

我实际上正在为维基百科页面研究这个问题,并遇到了这个问题。我环顾四周,据我所知,这是浏览器支持情况:

  • Chromium 支持 Upgrade 标头,例如此 bug所示。
  • Firefox 不支持“升级:TLS”,尽管2005 年就有一个未解决的错误,最后一条评论是 2010 年。我猜测他们不会很快添加它。
  • 鉴于本文描述了使用升级连接到 Websocket 服务器,Internet Explorer 10+ 可能会这样做。此提交消息还暗示 IE 10 支持“升级:websocket”。
  • Safari 6+ 支持升级(请参阅此处)。

对于所有受支持的浏览器,我只找到了“升级:websocket”用法的示例,没有人说升级到 TLS 会起作用。所以总体答案是,在生产应用程序中依赖它是有风险的。

服务器支持似乎更好;Apache 从 2.1 开始就支持“升级:TLS”。