首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP2:如何表示对它的支持?是否有用于HTTP2的“备用协议”?

HTTP2:如何表示对它的支持?是否有用于HTTP2的“备用协议”?
EN

Stack Overflow用户
提问于 2015-09-22 16:22:17
回答 1查看 1.4K关注 0票数 3

所以我刚刚升级到nginx1.9.5,它支持HTTP2。

我用listen http2替换了所有的listen http2,删除了spdy_headers_comp指令,也删除了add_header Alternate-Protocol 443:npn-spdy/3;

然后我在火狐中打开了我的网站,打开了网络监视器,瞧:Version: HTTP/2.0

但是火狐怎么知道我的网站支持HTTP2呢?在尝试HTTP1.1之前,它总是先尝试通过HTTP2连接吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-22 16:58:47

HTTP/2站点是通过TLS部署的。

浏览器使用名为ALPN的TLS扩展来告诉服务器他们可以说什么协议。浏览器总是发送这个TLS扩展,并且总是同时包含HTTP/2和HTTP/1.1 (也可能包括旧的SPDY协议)。

服务器接收浏览器可以说话的协议列表,如果服务器支持HTTP/2 (如果满足了许多其他条件--特别是关于TLS协议版本和密码套件),服务器决定使用浏览器使用HTTP/2,并再次使用ALPN扩展将选定的协议发送回浏览器。

如果服务器不支持HTTP/2,那么它将发送给浏览器,它只能通过ALPN扩展说HTTP/1.1。

如果服务器不支持ALPN扩展,那么它将不会将其发送到浏览器,浏览器将默认对该服务器使用HTTP/1.1。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32721969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档