zl程序教程

您现在的位置是:首页 >  后端

当前栏目

SpringMVC的缓存对静态资源的影响 304 Not Modified

SpringMVC静态资源缓存 not 影响 modified
2023-09-14 08:58:22 时间

  我们知道在springmvc的配置中,可以添加缓存,但是缓存到底对静态资源有什么影响?

 

测试

没有添加缓存
  <mvc:resources mapping="/image/**" location="/WEB-INF/"/>

 

添加了缓存
  <mvc:resources mapping="/image/**" location="/WEB-INF/" cache-period="2592000"/>

 

结论

  网站第一次加载图片图片成功的状态是200,但是第二次加载图片的时候,如果没有使用缓存,则是 200 OK(from cache),而使用了缓存的则是 304 Not Modified

 

200与304两种状态有什么区别

 

  200 OK (from cache) 是浏览器没有跟服务器确认,直接用了浏览器缓存;而 304 Not Modified 是浏览器和服务器多确认了一次缓存有效性,再用的缓存
  200 OK (from cache) 是直接点击链接访问,输入网址按回车访问也能触发;而 304 Not Modified 是刷新页面时触发,或是设置了长缓存、但 Entity Tags 没有移除时触发。

  参考: https://www.bokeyy.com/post/200-ok-from-cache-vs-304-not-modified.html

 

  个人觉得200 的缓存并没有特别的好,比如我修改了css 样式,200缓存的能够马上修改,并没有缓存的效果;而304缓存的则会保留之前的样式。

 

原创文章,欢迎转载,转载请注明出处!