HTTP2.0和HTTP3.0新特性!
HTTP2.0和HTTP3.0新特性!
月伴飞鱼HTTP2.0
HTTP2.0和HTTP1.X相比的新特性:
新的二进制格式:
- HTTP1.x的解析是基于文本。
- HTTP2.0的协议解析采用二进制格式,实现方便且健壮。
多路复用:
- 一个Request对应一个ID,这样一个连接上可以有多个Request。
- 每个连接的Request可以随机的混杂在一起,接收方可以根据Request的ID将Request再归属到各自不同的服务端请求里面。
Hseader压缩:
HTTP1.x的Header带有大量信息,而且每次都要重复发送。
HTTP2.0使用Encoder来减少需要传输的Header大小,通讯双方各自Cache一份Header Fields表,差量更新HTTP头部。
只发送改变的,既避免了重复Header的传输,又减小了需要传输的大小。
服务端推送:
- HTTP2.0具有Server Push功能。
HTTP2.0的多路复用和HTTP1.1中的长连接复用有什么区别?
HTTP/1.0:
- 一次请求-响应,建立一个连接,用完关闭。
- 每一个请求都要建立一个连接。
HTTP/1.1:
- 若干个请求排队串行化单线程处理,后面的请求等待前面请求的返回才能获得执行机会。
- 一旦有某请求超时等,后续请求只能被阻塞。
HTTP/2.0:
- 多个请求可同时在一个连接上并行执行。
- 某个请求任务耗时严重,不会影响到其它连接的正常执行。
HTTP3.0
底层的传输协议由
TCP
协议改为使用基于UDP
协议的QUIC
协议:
- 在应用层实现了拥塞控制、可靠传输的特性。
HTTP2
和HTTP3
都默认建立在HTTPS
之上。