我们知道在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缓存的则会保留之前的样式。
原创文章,欢迎转载,转载请注明出处!