Appearance
HTTP 不同版本的演变
HTTP 1.1 相比 HTTP 1.0 有哪些提升
- 使用
TCP长连接
改善了 HTTP 1.0短连接
性能开销 - 支持管道网络传输,只要一个请求发出去了,不必等待返回结果,就可以发第二个请求。
HTTP2 做了哪些优化
- 基于 HTTPS, 安全性更有保障
头部压缩:
如果多个请求有相似的头部,会去除重复部分二进制传输:
头部和数据都是通过二进制传输,并称为帧
, 增加了传输效率多路复用:
一个连接并发多个请求或响应,不用按照顺序服务器推送:
服务器可以主动向客户端发送消息,在浏览器请求 html 时,会提前把可能用到的 JS, CSS 文件主动发送给客户端。
TIP
HTTP/2 主要的问题在于,多个 HTTP 请求在复⽤⼀个 TCP 连接,下层的 TCP 协议是不知道有多少个 HTTP 请求 的。所以⼀旦发⽣了丢包现象,就会触发 TCP 的᯿传机制,这样在⼀个 TCP 连接中的所有的 HTTP 请求都必须等 待这个丢了的包被重传回来。