美文网首页Web前端之路程序员
我们来聊一聊浏览器的缓存机制

我们来聊一聊浏览器的缓存机制

作者: Yard | 来源:发表于2018-05-03 13:56 被阅读68次

1. 浏览器缓存两大策略

  1. 强缓存:不会向服务器发送请求,直接命中内存中的缓存资源,从chrome Network中可以看到资源200且from disk cache或from memory cache。
  2. 协商缓存:向服务器发送请求,服务器根据request header内的参数来判断是否需要更新此资源,如果不需要更新,服务器返回304的状态码,然后通知浏览器读取本地缓存。

2. 控制强缓存

强缓存主要由以下几个key决定。

http response header key description
Cache-Control http1.1最主要的key,指定缓存机制
Pragma http1.0指定缓存机制 当Pragma:no-cache时等同于Cache-Control:no-cache(在浏览器中disable cache就是在所有请求的请求头上加上Pragma:no-cache)
Expires http1.0指定缓存的过期时间,当和Cache-Control同时存在时优先取Cache-Control的值
强缓存示例
  1. Cache-Control内又有多个属性值,常见的是max-age,指定资源缓存的过期时间(s),例如:
Cache-Control : max-age=300

那么所有在300秒内的资源都将被强制缓存,也就是from disk cache或from memory cache。
超过300秒又会去重新请求服务器。

  1. Pragma一般用于调试,现在在response头上手动处理Pragma的很少很少。
  2. Expires和max-age类似,差别在于expires是一个固定的服务器时间点。

3. 控制协商缓存

控制协商缓存的主要是ETag和last-modified。

http response header key http request headerkey
ETag(服务端返回的当前资源的etag值) If-None-Match(上一次服务器对于当前资源返回的etag值)
Last-Modified(服务端返回的当前资源的最后修改时间) If-Modified-Since(上一次服务器对于当前资源返回的最后修改时间)
协商缓存示例

在请求服务器的时候,服务层会优先校对当前request的If-None-Match和If-Modified-Since,如果经过判断和之前的资源一致,那么服务端就会返回一个304,通知浏览器去缓存中读取该资源。

相关文章

  • 我们来聊一聊浏览器的缓存机制

    1. 浏览器缓存两大策略 强缓存:不会向服务器发送请求,直接命中内存中的缓存资源,从chrome Network中...

  • 一次弄懂HTTP缓存相关的11个问题

    聊一聊浏览器的缓存机制 HTTP是如何控制缓存的 Expires字段是什么意思?有什么作用 Expires和Cac...

  • 【转载】彻底理解浏览器的Http缓存机制

    转自:彻底理解浏览器的缓存机制(http缓存机制) 概述 浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是...

  • 让我们学习了解浏览器的缓存,提高页面的流畅度

    浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制...

  • 2020-08-14 彻底理解浏览器的Http缓存机制

    彻底理解浏览器的Http缓存机制 概述 浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的...

  • 来,我们聊一聊

    长夜漫漫,几经翻转,无心睡眠,也不知能做些什么,想找人聊聊天,打开通讯录,似乎也没有谁比我更无聊了吧。再者,上班的...

  • 我们来聊一聊

    赠品是免费的商品,出自民国。现在赠品也成了常用的促销手段。选好赠品好处多,但是赠品若没选好反而会影响商品销售。那该...

  • http的缓存机制(个人笔记)

    本文来源:彻底理解浏览器的Http缓存机制 概述 浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HT...

  • nginx 缓存(11)

    介绍nginx是如何设置缓存之前,我们还是先聊聊web浏览器的缓存机制。 1.浏览器缓存 浏览器的缓存机制也就是我...

  • 浏览器的缓存机制

    一、缓存机制概述 1. 基本概念介绍 浏览器缓存机制(即HTTP缓存机制),根据HTTP报文的缓存标识来决定使用缓...

网友评论

    本文标题:我们来聊一聊浏览器的缓存机制

    本文链接:https://www.haomeiwen.com/subject/gplkrftx.html