所以我刚刚升级到支持HTTP2的nginx 1.9.5.
我全部换成listen spdy由listen http2,去除spdy_headers_comp指令也删除add_header Alternate-Protocol 443:npn-spdy/3;
然后我在Firefox中打开了我的网站,打开了网络监视器,瞧: Version: HTTP/2.0
但是Firefox如何知道我的网站支持HTTP2?在尝试HTTP1.1之前,它是否始终首先尝试通过HTTP2连接?
浏览器使用名为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.
| 归档时间: |
|
| 查看次数: |
1209 次 |
| 最近记录: |