第116题 HTTP协议1.0和1.1和2.0有什么区别

- HTTP1.0
- 最基础的
HTTP协议 - 支持基本的
GET、POST方法
- 最基础的
- HTTP1.1
- 缓存策略
cache-controlE-tag - 支持长链接
Connection:keep-alive一次TCP连接多次请求 - 断点续传,状态码
206 - 支持新的方法
PUT DELETE等,可用于Restful API写法
- 缓存策略
- HTTP2.0
- 可压缩
header,减少体积 - 多路复用,一次
TCP连接中可以多个HTTP并行请求 - 服务端推送(实际中使用
websocket)
- 可压缩
补充(现代做法):现在还应补一句 HTTP/3。HTTP/2 虽在应用层做了多路复用,但底层仍是 TCP,一旦发生丢包,TCP 层的重传会阻塞这条连接上所有的流——即「TCP 队头阻塞」。HTTP/3 改用基于 UDP 的 QUIC 协议,把多路复用下沉到传输层,每条 stream 独立,单流丢包不再拖累其他流;同时把 TLS 1.3 握手与连接建立合并,0-RTT/1-RTT 建连更快,并支持连接迁移(切换 Wi-Fi/4G 不断连)。另外 HTTP/2 的「服务端推送」实际收益有限、主流浏览器已弃用,现代偏向用
<link rel=preload>/ Early Hints (103) 替代。
连环问:HTTP协议和UDP协议有什么区别
HTTP是应用层,TCP、UDP是传输层TCP有连接(三次握手),有断开(四次挥手),传输稳定UDP无连接,无断开不稳定传输,但效率高。如视频会议、语音通话
