• 欢迎访问web前端中文站,JavaScript,CSS3,HTML5,web前端demo
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏web前端中文站吧

Last-Modified缓存和If-Modified-Since缓存

JAVA web前端中文站 3年前 (2017-07-20) 1106次浏览 已收录 0个评论

在多说一下,这个也是在缓存时间已经失效,即 Cache-Control:mac-age = 0 的情况下,而且上面的 Etag 和 If-None-Match 不相等的情况下;

更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏

Last-Modified 指的是文件上一次被修改的时间(可以理解为服务器端的),, 会带着 If-Modified-Since(本地的)返回的时间,,本地的时间大于等于服务器端的时间的花,说明资源没有被改动过接着用缓存的,否则就要更新,从新发送 web 请求了,如果感觉拗口的话,贴一下参考的原话。

当资源过期时(也就是 Cache-Control:max-age=0,),发现资源具有 Last-Modified 声明,则再次向 web 服务器请求时带上头 If-Modified-Since,表示请求时间。web 服务器收到请求后发现有头 If-Modified-Since 则与被请求资源的最后修改时间进行比对。若 Last-Modified 的时间较新,说明最后修改时间较新,说明资源又被改动过,则响应整的资源重新从服务器读取,而不是读取缓存,返回 200 状态吗;若 If-Modified-Since 的时间比 Last-Modified 新或者相等,说明服务器的内容没有更新,直接读取缓存即可,返回 304 状态码,告知浏览器继续使用所保存的 cache。

Last-Modified 缓存和 If-Modified-Since 缓存

另外需要说明的是: cache-control      .Etag 和 If-None-Match   Etag 和 If-None-Match 三者的权重是从左到右越来越小的;

还有一点需要说明的是,我们说的缓存~基本上都是 GET 方式的,像 POST 之类的通常情况下是不会进行缓存的;

说了这么多,缓存是好的,可以节约资源,减少服务器的压力,但是,设置太长的缓存时间的话,又不能及时的更新资源,具体如何取舍把握,还要视具体情况再说.

【注:本文源自网络文章资源,由站长整理发布】


web 前端中文站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Last-Modified 缓存和 If-Modified-Since 缓存
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址