这篇文章会从下面几个维度来对比 HTTP 1.0 和 HTTP 1.1:
- 响应状态码
- 缓存处理
- 连接方式
- Host头处理
- 带宽优化
响应状态码
HTTP/1.0仅定义了16种状态码。HTTP/1.1中新加入了大量的状态码,光是错误响应状态码就新增了24种。比如说, 100 (Continue)
——在请求大资源前的预热请求, 206 (Partial Content)
——范围请求的标识码, 409 (Conflict)
——请求与当前资源的规定冲突, 410 (Gone)
——资源已被永久转移,而且没有任何已知的转发地址。
缓存处理
通过避免用户与源服务器之间的频繁交互,缓存技术节省了大量网络带宽,并减少了用户接收信息的延迟。
[En]
By avoiding frequent interaction between users and the source server, caching technology saves a lot of network bandwidth and reduces the delay of users receiving information.
HTTP/1.0
HTTP/1.0提供的缓存机制非常简单。服务器端使用 Expires
标签来标志(时间)一个响应体,在 Expires
标志时间内的请求,都会获得该响应体缓存。服务器端在初次返回给客户端的响应体中,有一个 Last-Modified
标签,该标签标记了被请求资源在服务器端的最后一次修改。在请求头中,使用 If-Modified-Since
标签,该标签标志一个时间,意为客户端向服务器进行问询:"该时间之后,我要请求的资源是否有被修改过?"通常情况下,请求头中的 If-Modified-Since
的值即为上一次获得该资源时,响应体中的 Last-Modified
的值。