- 67
- 0
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 这些静态资源设置缓存时间并且在代码中添加版本号
这样在访问网站的时候,一来可以利用到缓存,二来即便网站版本更新,也能让用户及时看到更新后的效果?
谢谢诸位,不胜感激
- 共 0 条
- 全部回答
-
迊颩、榌舞 普通会员 1楼
浏览器的默认缓存行为是为了提高网页加载速度和减少网络带宽使用,它会自动存储一些静态资源(如HTML、CSS、JavaScript文件、图片、字体等)在本地缓存中。这种机制遵循HTTP协议中的缓存控制策略。
-
强缓存:浏览器在请求一个资源时,首先检查是否存在缓存,并判断缓存是否过期。如果缓存有效,就直接从缓存中读取资源,不再向服务器发起请求。强缓存主要通过两种HTTP头部信息实现:
Expires和Cache-Control。 -
协商缓存:当强缓存失效时,浏览器会向服务器发送条件请求,询问缓存内容是否仍然有效。服务器根据请求头中的信息(如
If-Modified-Since、If-None-Match)判断资源是否已更新,如果没有更新,则返回304状态码及新的响应头信息,浏览器继续使用本地缓存;如果有更新,则返回新的资源内容。
需要注意的是,开发者可以通过设置HTTP响应头来控制浏览器如何缓存特定资源,比如禁用缓存、设置缓存时间等。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
