HTTP/2
HTTP2
Last updated
HTTP2
Last updated
1、线头阻塞
2、不支持多路复用
3、头部冗余
4、仅支持单向请求
涉及到的概念:
流(Stream):可以承载一个或多个消息,一个TCP连接上可以有任意数量的流。
消息(Message):一个消息由一个或多个帧组成。一个完整的HTTP请求或响应就是一个消息,同一个HTTP的消息只能在同一个流上发送。
帧(Frame):通信的基本单位。
现实情景类比:
物流车 -> 客户端(浏览器)
物流仓库 -> 服务器
物流车停在物流仓库口 -> 建立的 TCP 连接
传送带 -> 流 (可能有多条传送带给物流车提供装卸服务)
传送带上的包裹 -> 消息 (如果是卸货则就request消息,如果是装货则就是response消息)
包裹里的物品 -> 帧
HTTP/2将消息划分为两个帧:HEADERS、DATA,并应二进制进行编码;HTTP/1.1采用的是文本格式
一个TCP可以同时支持多个流存在,这是HTTP/2其他功能和性能优化的基础
首次请求后,客户端和服务端会建立一个关于header字段的字典,后续再请求只需传输对应字段的索引即可。
再也不需要额外增加webscoket协议了
参考:
HTTP/1.1与HTTP/2的性能对比: