浏览器缓存学习记录

图片参考链接:https://blog.csdn.net/weixin_44258964/article/details/106444238
其他学习参考链接:
浏览器的强缓存和协商缓存

『网络篇』之手把手实现强缓存与协商缓存
本文主要是对浏览器的两种缓存模式进行记录学习。
在这里插入图片描述

浏览器缓存是什么,从哪里来?

浏览器缓存是在我们访问浏览器各种资源(静态资源)时,保存在本地的副本文件。

缓存的作用,为什么用,怎么用?

如果一个资源被请求过并保存(缓存)在了本地,那么下一次需要这个资源时如果资源有效我们可以
避免再次向服务端发起请求,节省流量,服务端压力降低,同时前端响应速度也会变快。

浏览器会根据后端返回的响应头判断是否是用缓存。

缓存分类

分为强缓存和协商缓存。
如果是浏览器强缓存,当再次需要请求资源时,会直接使用强缓存资源,强缓存不能缓存根文件;
如果是协商缓存(对比缓存),会交由服务端决定是否要使用缓存。
在这里插入图片描述

强缓存和协商缓存

在这里插入图片描述
在这里插入图片描述

强缓存使用返回头中的 Expires 或者 Cache-Control 两个字段来控制的,都是表示资源的缓存有效时间。
协商缓存使用响应头的EtagLat-modified两个字段来判断是否有缓存,由服务器判断是否用缓存。
如果两种缓存都存在,优先级顺序 强缓存 > 协商缓存 ,即 Cache-Control > expires > Etag > Last-Modified

注:如果本地时间被修改,缓存可能会有问题。

cache-control

cache-control值是一个相对时间,通常通过max-age=xxxxx判断资源的有效期,如上图,
计算方式即 Date + max-age = expires。

Expires

Expire的值是一个GMT格式的表示时间的字符串,像上方截图的Date格式一样。该值代表缓存资源的失效时间。如果当前时间(Date)在Expires时间之前代表还未失效,可以用缓存。

在服务器上根据对比If-Modified-Since、If-None-Match和本地文件信息判断资源是否有变化,当两者相同时代表文件并没有发生过修改,浏览器将返回状态码304来使浏览器使用缓存中的数据,当其中任何一项与服务器数据信息不一致时,便是文件被修改过了,浏览器返回状态码200并将最新的文件携带着Etag、Last-Modified响应头返回给浏览器。

Last-Modified/If-Modified-Since

这两个值也都是GMT格式。前者在响应头中,代表文件最后修改时间,后者在请求头中,代表 Last-Modified 告诉服务器我本地缓存的文件最后修改的时间。

Etag/If-None-Match

在这里插入图片描述
这两个值是由服务器为每一个资源生成的唯一标识串,只要资源有变化就这个值就会改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
谷哥浏览器是一款免费的网页浏览器工具,由中国独立开发者Fatkun开发和维护。它旨在为用户提供更便捷、高效的网络浏览体验。 首先,谷哥浏览器提供了一系列强大的功能和扩展,帮助用户更好地浏览网页。它内置了广告拦截器,可以有效地屏蔽页面上的广告内容,提升网页加载速度和阅读体验。此外,谷哥浏览器还支持快捷键操作,让用户可以更方便地进行网页导航和操作。 其次,谷哥浏览器注重用户隐私和安全。它提供了隐私模式,当用户在隐私模式下浏览网页时,浏览器会自动清除浏览记录缓存和Cookies,保护用户的隐私信息不被暴露。此外,谷哥浏览器还内置了恶意网站拦截功能,可以提前警示用户访问不安全的网站,保护用户的计算机不受恶意软件的侵害。 另外,谷哥浏览器还支持多标签页浏览,用户可以在同一个窗口中同时打开多个网页标签,方便快捷地切换和管理不同的网页内容。同时,谷哥浏览器还提供了书签同步功能,用户可以将书签保存在谷哥账户中,方便在不同终端间同步和管理书签,提高工作和学习效率。 综上所述,谷哥浏览器是一款功能强大、安全可靠的网页浏览器工具,为用户提供更方便、高效的上网体验。无论是关注隐私安全还是提升浏览效果,谷哥浏览器都能满足用户的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值