作者:陈凤湖南 | 来源:互联网 | 2023-10-09 20:33
学nginx的时候把浏览器的缓存机制琢磨了一下。把相关httpheader研究了一下。然后突然想起一个问题,就是以前在本地开发的过程中修改js文件时由于浏览器缓存导致新的改动并没有生效
学nginx的时候把浏览器的缓存机制琢磨了一下。把相关http header研究了一下。
然后突然想起一个问题,就是以前在本地开发的过程中修改js文件时由于浏览器缓存导致新的改动并没有生效,必须清空才可以。
然后就想结合刚了解的http缓存机制来弄清楚以前那个js文件不生效的问题。
可是问题来了。为什么js文件在修改之后,刷新页面,浏览器没有从本地服务器获取新的js文件而是从缓存中读取。
我确认了request header 里的cache-control是 max-age=0,就是说向服务器确认该js文件是否需要更新。
那有改动的话应该是重新请求js文件 且status为200才对呃。。。。
还是说只要js文件的名字没变。那么浏览器就认为缓存是存在的,可以直接读取??并不需要判断etag或者last-modified