HTTP2协议主要改进点
2019-09-28 16:35
3143 查看
1、改成二进制协议,每次传输二进制帧,帧有以下几个字段
类型type,长度length,flag,StringID流标志,Payload负载,最基础的两种类型HEAD类型和DATA类型
2、多路复用,可以在一个连接上,同时传输多个数据流,每个流的传输顺序是固定的,按先后到达拼接
3、支持优先级,通过权重
4、支持重置中断,在HTTP/1.1中,如果一个请求发出去了,在没有发送完的情况下,是不好取消的,只能断开这次的TCP连接,但是断开重连有有点费时,HTTP2可以发送一个RST_STREAM帧,表示取消这次请求传输,后面重新开始传
5、头部压缩,大部分的请求头部都是相似的,尤其类似cookie这些信息,有时候占比很重,可以压缩
6、支持服务端推送,服务端在响应客服端请求A资源时,预估可能马上也会用到B资源,服务端可以把B资源发送给客户端,当然前提是客户端显示的告知服务端,客户端允许这种推送,并且最终客户端有决定权是否接受,如果不接受,可以发送一个RST_STREAM帧取消
7、支持流量控制,支持客户端和服务端沟通彼此的数据窗口大小
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- Java中Http连接的两种方式(小结)
- 深入分析nginx+php-fpm服务HTTP状态码502
- Node.js HTTP服务器中的文件、图片上传的方法
- 简单介绍HTTP请求方式中8种请求方法
- Laravel中正确地返回HTTP状态码方法示例
- Django接收自定义http header过程详解
- 微信小程序HTTP接口请求封装代码实例
- python通过http下载文件的方法详解
- 详解Nginx http资源请求限制(三种方法)
- 详解如何在Angular优雅编写HTTP请求
- 一个简单的Golang实现的HTTP Proxy方法
- go语言实现http服务端与客户端的例子
- Nginx http升级到https的完整步骤
- 封装微信小程序http拦截器过程解析
- Nginx http运行状况健康检查配置过程解析
- 在java中http请求带cookie的例子
- Python使用指定端口进行http请求的例子