HTTP 1.0 和 HTTP 1.1
-
长连接
- 在
HTTP 1.0
中,默认使用的是短连接,也就是说,每次请求都要重新建立一次连接。 - HTTP是基于TCP/IP协议的,每一次建立或者断开都需要重新三次握手、四次挥手,比较耗时。
- 在
HTTP 1.1
中,默认使用长连接,默认开启Connection: keep-alive
。 HTTP 1.1
连接方式由流水线方式
和非流水线方式
流水线方式
:客户在收到HTTP响应报文之前就能接着发送新的请求报文。非流水线方式
: 客户在收到HTTP前一个响应之后,才能发送下一个请求。
- 在
-
错误状态码
- 在
HTTP 1.1
中新增了24个错误状态码,如409(Confilct) 表示请求的资源与资源当前状态发送冲突,410 (Gone)表示服务器上某个资源被永久删除。
- 在
-
缓存处理
- 在
HTTP 1.0
中,主要使用header里的If-Modified-Since, Expires来作为缓存判断的标准。 - 在
HTTP 1.1
中,引入了更多的缓存控制策略,例如:Entity tag
,If-Unmodified-Since
,If-Match
,If-None-Match
等更多可供选择的缓存头来控制缓存策略
- 在
-
带宽优化及网络连接的使用
- 在
HTTP 1.0
中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过去 - 不支持断点续传功能
- 在
HTTP 1.1
中,引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接
- 在