1. Http1.x
缺陷:线程阻塞,在同一时间,同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞。
2. Http1.0(短连接)
缺陷:浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接(TCP连接的新建成本很高,因为需要客户端和服务器三次握手),服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求;
解决方案:添加头信息——非标准的Connection字段Connection: keep-alive
3. Http1.1
改进点:
- 持久连接(与Http1其它版本的最大区别)
引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,不用声明Connection: keep-alive(对于同一个域名,大多数浏览器允许同时建立6个持久连接) - 管道机制
即在同一个TCP连接里面,客户端可以同时发送多个请求。 - 分块传输编码
即服务端每产生一块数据,就发送一块,采用”流模式”而取代”缓存模式”。 - 新增请求方式
PUT:请求服务器存储一个资源;
DELETE:请求服务器删除标识的资源;
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项