HTTP0.9
get方式获取文件
HTTP1.0
head+body get/post/…
连接无法复用(需要重新握手,大部分的开销浪费在创建/断开连接上)
HTTP1.1
head追加connection:keep-alive字段
规定了 可以同时向服务器建立多个连接(并行发送请求,但也是有上限的,Chrome浏览器向同一个域名下的请求最多6个)
存在的问题:
- 明文进行传输,没有压缩(存疑?可以用Gzip压缩https://blog.csdn.net/sun_p0/article/details/50341761)
- ☆前一个请求加载完成后,才能继续后一个请求
- header非常长
- server端无法主动push(借助WS协议)
HTTP2.0
传输的是二进制
单个连接 + 帧 (BT下载这种思想,打成块,乱序发送,最后组合)
header压缩
服务端可以主动push
参考:https://www.bilibili.com/video/av73680980