HTTP1.0
每个请求建立一个连接(短连接)
连接无法复用
head of line blocking:一列的第一个数据包(队头)受阻而导致整列数据包受阻
不支持断点续传
HTTP1.1
pipelining机制
持久连接,默认使用带流水线的持久连接
客户端允许不用等待上一个结果就发送下一个请求,但服务端必须按顺序返回
host请求头字段,实现了在一台web服务器上可以在同一个IP地址和端口好上使用不同的主机名来创建多个虚拟web站点
浏览器客户端在同一时间,针对同一个域名下的请求有一定数量限制,超过限制数目的请求会阻塞,这就是为何一些站点会有多个静态资源CDN域名的原因
Connection 身份认证,状态管理,Cache缓存等机制
请求头和响应头 RANG:bytes支持断点续传
HTTP2.0
多路复用 同域名下单一的HTTP/2连接发起多重请求的响应消息,多流并行
二进制分帧 HEAD Frame DATA Frame,慢启动时间的减少,使拥塞和丢包恢复速度更快
首部压缩 SPDY/HTTP2 客户端和服务端使用”首部表”来跟踪和存储之前的键值对
服务端推送