关于浏览器缓存

 我来答
聪慧且健美灬牡蛎5360
2022-06-22 · TA获得超过1522个赞
知道小有建树答主
回答量:1850
采纳率:100%
帮助的人:113万
展开全部

首先浏览器缓存分为 内存缓存 文件缓存
内存缓存是浏览器自己控制的,不受 Cache-Control 影响,跟计算机内存空间大小有关,并且关闭浏览器就会消失。

文件缓存 就是我们常说的浏览器缓存。
文件缓存分为2种: 强制缓存 协商缓存

强制缓存 就是通过Header上配置Cache-Control:public,max-age=300这种形式实现的,Cache-Control可以客户端在请求Header配置,也可以服务端在响应Header配置。

强制缓存 比较适合用在变化频率比较低的文件上,比如图片,js,css都可以,通常我们都使用这种缓存再配合文件hash后缀实现缓存文件的即时更新。

协商缓存 是一种服务端控制文件缓存的策略,机制是服务端会根据最新更改时间和文件标识判断响应的时候是否要返回内容。虽然每次都会向服务端发起请求,但是如果服务端确定缓存,会返回很少响应内容。
这种方式比较适合需要频繁更新的文件,需要配合Cache-Control:no-cache阻止强制缓存。另外html不要配置强制缓存,通常我们请求的html文件地址不会加hash。

协商缓存 主要通过2组Header标签让客户端与服务端确认来达成:首先服务端在响应的时候会加上 Last-Modified Etag ,前者表示文件最后更新时间,后者表示文件唯一标识;然后客户端再次请求的时候会带上 If-Modified-Since If-None-Match ,值分别跟服务端的 Last-Modified Etag 一致。

参考:
浏览器缓存

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式