八股训练营第 4 天 | HTTP1.0 和 HTTP1.1 的区别?HTTP2.0 与 HTTP1.1 的区别?HTTP3.0 有了解过吗?
HTTP1.0 和 HTTP1.1 的区别
- HTTP1.1 默认是长连接,允许在一次 TCP 连接中发起多个请求;而 HTTP1.0 默认是短连接,每次请求都要建立一次 TCP 连接,开销比较大。
- HTTP1.0 缓存机制有 IF-NOT-Modified-Since/Expires 字段;HTTP1.1 新增了 ETag/If-None-Match 字段。
- HTTP1.1 支持管道,可在第一次请求到达之前发送多个请求,减少了无效等待时间,提高了效率;HTTP1.0 不支持管道。
- HTTP1.1 新增了一些状态码,如 100 等。
- HTTP1.1 新增 HOST 字段,允许浏览器指定主机名连接,使服务器托管在多个域名上成为可能。
- HTTP1.0 可以只请求部分资源;HTTP1.0不行,会造成一定的带宽浪费。
HTTP2.0 与 HTTP1.1 的区别?
- HTTP2.0 使用二进制传输数据,相比于 HTTP1.0 文本传输数据,提高了传输效率。
- 多路复用:HTTP2.0 可在一次 TCP 连接上并行交错地发起多个请求和响应。
- 头部压缩:HTTP2.0 对请求和响应的头部进行了压缩,减少了冗余信息。
- 服务器推送:HTTP2.0 可主动向浏览器推送数据,提高了网页加载速度。
- 依赖:HTTP2.0 浏览器可对请求进行优先级排序,从而更好地管理依赖,使资源加载更有序。
HTTP3.0 有了解过吗?
HTTP3.0 是最新的 HTTP 协议,基于 QUIC。
- 0 RTT 连接:除了第一次是 1 RTT,后续是 0 RTT。
- 连接迁移:当浏览器网络从 Wifi 切换到移动数据时,HTTP3.0 可以更改 IP 地址,减少连接中断时间。
- 使用 TLS 加密,安全性更高。
