账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    浏览器的默认缓存行为
    29
    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
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 鱼刀 普通会员 1楼

      浏览器的默认缓存行为可以大致分为以下几种:

      1. 本地缓存:当用户访问一个页面后,浏览器会将该页面的HTML、CSS和JavaScript等内容保存到本地,以备后续再次访问时快速加载。这是最常见的缓存方式,适用于大部分网页。

      2. 服务器缓存:当服务器返回响应给浏览器时,浏览器会将该响应的内容缓存起来,下次访问时直接从缓存中读取,避免再次向服务器请求。这种缓存方式适用于大型静态网站或服务器返回的数据。

      3. 反向代理缓存:当用户访问一个网页时,浏览器会首先向后端服务器请求该网页的HTML、CSS和JavaScript等内容,然后将这些内容缓存起来。当浏览器再次访问这个网页时,后端服务器直接从缓存中读取,而无需再次向服务器请求。这种缓存方式适用于静态内容和频繁访问的页面。

      4. URL缓存:当用户访问一个网页时,浏览器会将该页面的URL保存起来,当浏览器再次访问这个网页时,浏览器会直接从URL中读取,无需再次向服务器请求。这种缓存方式适用于一些简单的静态内容。

      5. 图片缓存:当用户访问一个网页时,浏览器会将该网页中的图片保存起来,当用户再次访问这个网页时,浏览器会直接从缓存中读取,而无需再次向服务器请求。这种缓存方式适用于一些图片内容。

      以上就是浏览器的默认缓存行为,不同的浏览器可能会有不同的缓存策略。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部