如果服务器实现 spdy/3 而浏览器只支持 spdy/2 会发生啥?
Posted
技术标签:
【中文标题】如果服务器实现 spdy/3 而浏览器只支持 spdy/2 会发生啥?【英文标题】:What will happen if server implement spdy/3 while browser only support spdy/2?如果服务器实现 spdy/3 而浏览器只支持 spdy/2 会发生什么? 【发布时间】:2012-12-28 12:00:36 【问题描述】:如果我在我的服务器上添加对 spdy/3 的支持,而我的用户在他们的浏览器中只有 spdy/2,会发生什么? 协议会优雅地降级到 spdy/2 还是只使用普通的 https?
【问题讨论】:
我不能再投票重新开放,但这对于那些实施 SPDY 协议的人来说是一个重要的问题。我不认为这在 Stack Overflow 上是题外话。 【参考方案1】:支持SPDY的服务器如Jetty会通过NPN宣传他们能够支持的协议,通常其中总是有“http/1.1”。
如果您的服务器宣传“spdy/3”、“http/1.1”,而浏览器只支持“spdy/2”,那么浏览器(作为浏览器意味着它默认支持HTTP)将回退到“http/ 1.1" 通过 TLS。
如果服务器不支持 spdy/2,它不会降级(spdy/2 和 spdy/3 是二进制不兼容的)。 如果无法进行协议协商,则关闭连接。
【讨论】:
感谢您的回答。这真的很有帮助。服务器是否可以支持多个版本的 spdy?假设它同时支持 spdy/2 和 spdy/3。 当然,它只会通过 NPN 宣传 spdy/2 和 spdy/3,然后使用客户端请求的任何版本。以上是关于如果服务器实现 spdy/3 而浏览器只支持 spdy/2 会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章