猿问

浏览器的默认缓存行为

1.浏览器(比如Chrome)的默认缓存行为是怎样的?
也就是说在服务器端没有配置强缓存的时候,它如何缓存HTML、css、js、img等静态资源
我在测试的时候(Chrome && 服务器端没有强缓存配置),这些静态资源多次访问,有时是304,有时是200(from disk cache)
这让我很诧异,如果返回304就一直返回304,如果200就一直返回200
304的情况比200的情况多,200 from disk cache很少出现,但我测的结果是总会出现一次
如果是本地服务器,200 from disk cache就很容易出现
麻烦给解释一下

2.是因为各个浏览器的默认缓存行为不同,并且各个浏览器在自己进行缓存的时候,情况比较诡异(我测的结果感觉比较诡异),所以在web服务器端(如Nginx)都自己配置强缓存,从而摒弃浏览器的默认缓存行为吗?

3.一般在设置强缓存的时候
① 是不是 html 文件不缓存
② 而 css|js|image 这些静态资源设置缓存时间并且在代码中添加版本号
这样在访问网站的时候,一来可以利用到缓存,二来即便网站版本更新,也能让用户及时看到更新后的效果?

谢谢诸位,不胜感激


青春有我
浏览 494回答 1
1回答

幕布斯6054654

我理解的你说的缓存应该是指浏览器对医院文件的缓存。缓存的配置是在Nginx或者后端的server上,例如缓存生效时间缓存失效日期等。如果需要的话,任何通过GET请求获取的资源文件理论上都可以配置缓存,是否生效也需要看浏览器的支持情况,建议去网上找相关的cache的文章~
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答