我一直在研究HTTP 1.1(RFC 2817)中的Upgrade头字段,并且碰巧阅读了HTTP的维基百科条目。那篇文章有以下声明:
“然而,浏览器对Upgrade头的支持几乎不存在,因此HTTPS仍然是建立安全HTTP连接的主要方法。”
我希望实现我的Web服务,以便它依赖于Upgrade头字段,以避免必须侦听两个套接字(一个用于HTTP,另一个用于HTTPS)。这个陈述,我无法验证任何其他地方,让我有点紧张。维基百科上面的陈述是否接近正确或是否是一个粗略的概括?
答案 0 :(得分:2)
我实际上正在为维基百科页面研究这个问题并遇到了这个问题。我环顾四周,这是我所知道的浏览器支持情况:
对于所有支持的浏览器,我只找到了“升级:websocket”用法的示例,没有人说升级到TLS会起作用。因此,总的答案是在生产应用程序中依赖它是有风险的。
服务器支持似乎更好;自2.1以来,Apache已经获得了“升级:TLS”支持。
答案 1 :(得分:0)
我更愿意将它全部放在http中,但目前的情况更多地倾向于服务器名称指示,因为它受到广泛支持。它也很难表明您希望客户端使用url进行升级。因此,如果目标是虚拟主机,则执行此操作的一种方法是TLS“服务器名称指示”。请参阅RFC 3546 http://www.ietf.org/rfc/rfc3546.txt或http://en.wikipedia.org/wiki/Server_Name_Indication