前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浏览器缓存是嘛?

浏览器缓存是嘛?

作者头像
web前端教室
发布2018-02-06 14:31:41
5330
发布2018-02-06 14:31:41
举报
文章被收录于专栏:web前端教室

浏览器的缓存这个东西,我是又爱又恨。爱的是它可以存一些东西在客户端节省资源、提高效率;恨的是你在缓存有时会造成用户那边的信息不更新,你这些修改了,那边收不到。尤其在开发的时候,你这边加班吭哧吭哧改了半天,你觉得OK了,喊老板来看;老板一看没变啊,再刷新还是没变,,其实这就是缓存的负面作用了。

这篇小文就是纯科普哈,大概的聊聊这个。缓存这厮有二种,一是强缓存,就是用http返回头中的Expires或Cache-Control这二个控制,其实就是资源的缓存时间。实质上,强缓存你就可以理解,怎么刷新也不变的,就是强缓存了。艹他妹的,有时都想骂娘啊,明明改完了,怎么刷新就不变,你说这不要命么,,

这里就有一个怎么算是“命中”强缓存的问题?刚才说了,有Expires和Cache-Control,它们俩吧其实就是资源的失效时间。只不过一个是绝对时间,一个是相对时间。这二个时间戳用哪个都可以,Cache-Control优先级高哈。

另一种就是所谓的协商缓存,就是这个缓存可以商量。怎么个商量法呢?首先要看是否HTTP请求时找到了强缓存。如果没找着,浏览器就把此资源的加载请求发到服务器,服务一掐表说,哎你本地缓存失败了,再下载一个吧,于是就缓存更新了。

那协商缓存的情况下,服务器是怎么掐表的呢?它是通过Last-Modify...或是Etag...,挺长的,我就不手敲了。通过这二个来时间戳,来判断资源的最后修改时间的。如果服务器说,哎还没过期呢,给你Y个304,于是就不更新了,否则就更新。

这块的东西细说的话挺多的。咱就科普一下,点到为止。详细你自己百度去哈。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档