面试常问:HTTP 1.0 和 HTTP 1.1 有什么区别?

Java48

这篇文章会从下面几个维度来对比 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的值。

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长