如果我打出 https://http2.golang.org/ ,Chrome 浏览器将自动发送 HTTP/2 请求。这是如何实现的?
以stackoverflow为例,当浏览器向stackoverflow.com
发送请求时,需要执行以下步骤:
关于第3步TLS握手,@Oleg提供了一个不错的解释。
为了检查TCP/IP数据包的详细信息,您可能需要使用一些工具来捕获数据包。例如:Wireshark。
ClientHello
,其中携带以下几个信息SeverHello
,其中携带以下信息HTTP/2
步骤4中发生HTTP2请求/响应。在此之前,浏览器已经通过TLS握手知道服务器是否支持HTTP/2。