浏览器缓存是嘛?

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

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

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

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

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

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

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2016-06-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编舟记

怎样才算学会PythonPython 实践基础

假如你已经有了编程基础,那么学习一门新语言的困难点绝对不在语法、语义和风格等代码层面上的,而在于语言范式(OO,FP还是Logic),语言的生态(如:依赖管理和...

17620
来自专栏wOw的Android小站

[iOS] 技术文章收藏

现在关注了一些微博,订阅号,博客。每天都能看到不少好文章。现在收藏夹里放了不少文章,我觉得是时候整理一下,把文章分各类,做个目录出来,方便以后查阅。

8910
来自专栏FreeBuf

NSA(美国国安局)泄漏文件深度分析(PART 1)

* 本文原创作者:tom_vodu,本文属FreeBuf原创奖励计划,未经许可禁止转载 一、前言 防火墙是保护内网机器不受网络攻击者侵害的第一道也是非常核心...

32150
来自专栏JavaEdge

Java并发编程实战系列11之性能与可伸缩性Performance and Scalability

线程可以充分发挥系统的处理能力,提高资源利用率。同时现有的线程可以提升系统响应性。 但是在安全性与极限性能上,我们首先需要保证的是安全性。 11.1 对性能的...

37550
来自专栏Java3y

两个月的Java实习结束,继续努力

另外值得一说的是:别以为我写了那么多博客的就很厉害,很牛逼,其实我渣得一批!校招的算法笔试题基本没有ac的,在面试的时候,知识点说忘就忘。我写博客主要是记录一下...

24320
来自专栏张善友的专栏

如何从VS2003升级到VS2008

直接使用VS2008打开VS2003的Web项目,提示转换项目,开始转换项目,转换完的结果可能就不是你想要的了,VS2008把它给转换成WebSite模型了,像...

21690
来自专栏微服务生态

Log4j2的性能为什么这么好?

说明: 这个是logback日志的压测数据,在开发机(双核四线程),高配开发机(四核八线程)和服务器(32核)压测的效率都差不多,而且线程开多的时候,性能反而...

24230
来自专栏北京马哥教育

【Zabbix】中小型企业Zabbix监控实战之告警大全

转载声明:本文转载自「数睿技术」 前言 本篇文章介绍目前常用的告警方式,以及对功能实现做讲解。本篇文章中出现的代码片段可以回复"监控脚本"获取完整代码。 ...

512100
来自专栏FreeBuf

挖洞经验 | 看我如何利用上传漏洞在PayPal服务器上实现RCE执行

当你看到这篇文章标题时,是不是很吃惊,PayPal服务器的RCE漏洞?Dafaq?WTF?真的吗?这当然是真的,很幸运,我通过枚举和域名查找方法发现了该漏洞。 ...

40750
来自专栏野路子程序员

徒手解剖composer,简单了解其实现过程

31160

扫码关注云+社区

领取腾讯云代金券