http2 的连接建立过程

http2 的分类 http2 有多种不同的连接建立情况,简单来看可以分为两种: 但是,在实际使用中这样划分缺乏实操性,所以实际情况会这么分: 从 http/1.1 升级到 h2c 当客户端不知道服务器是否支持 http2 时,先尝试以 http/1.1 的形式向服务器发送 http 请求,同时,带上一个 Header:Upgrade: h2c,这样,如果服务器是支持 http2 的,那么就会响应一个升级操作:例如: [[email protected]]# cat http1.req GET / HTTP/1.1 Host: server.example.com Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: <base64url encoding of HTTP/2 SETTINGS payload> 如果服务器支持 http2,响应的就是一个 Switch Protocols 的 101 响应: [[email protected]]# cat http101.resp Read more…