网络知识

Etag和Last-Modified

2017-10-07  本文已影响41人  林影稀

特性

ETag特点

  1. Last-Modified只能精确到秒,秒之内的内容更新Etag才能检测
  2. 文件有时会定时重新生成相同内容,Last-Modified不能很好辨别
  3. etag每次服务端生成都需要进行读写操作,而last-modified只需要读取操作,etag的消耗是更大的

Etag/If-None-Match例子

  1. 第一次请求


    image.png

    2.第二次请求

image.png

通过实验可以清晰看到这个请求头是怎么起作用的

Last-Modified/If-Modified-Since

与上面类似,具体请对照实验

304

如上面所示,304状态码出现在协商缓存,进行缓存内容有效性验证的时候。如果缓存内容被服务端认定没有变化,则只返回response header,并把状态码设置为304,并不返回response body,浏览器再收到304的时候,从本地的缓存中读取内容。如果内容有变,则返回新的header和body。可见,304在缓存中的作用最后体现在少返回了一次内容上。

参考资料:

http://www.telerik.com/blogs/understanding-http-304-responses
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag

上一篇下一篇

猜你喜欢

热点阅读