如果我输入https://http2.golang.org/,Chrome浏览器将自动发送HTTP/2请求.这是怎么做到的?
Rya*_* Lv 18
以stackoverflow为例,当浏览器发送请求时stackoverflow.com,它必须执行以下步骤:
关于step3 TLS握手,@ Oleg 有一个很好的解释.
为了检查TCP/IP数据包的细节,您可能需要使用一些工具来捕获数据包.比如 Wireshark.
ClientHello到服务器,其中包含多个内容SeverHello,其中包含HTTP/2HTTP2请求/响应在步骤4中发生.在此之前,浏览器已经知道服务器是否支持HTTP/2到TLS握手.
chrome浏览器只会将HTTP / 1.1请求发送到网站。由于网站启用了HTTP / 2,因此它将向浏览器发送一条消息,说明它支持HTTP / 2。如果服务器发现能够识别HTTP / 2的浏览器,则将服务器与服务器之间的通信协议升级为HTTP / 2。因此,通常是服务器将请求转换为HTTP / 2连接。浏览器仅符合服务器的升级策略。仅在服务器升级通信协议之后,Chrome浏览器才会显示您与服务器或网站的HTTP / 2连接。
| 归档时间: |
|
| 查看次数: |
5276 次 |
| 最近记录: |