美文网首页
深入之浏览器缓存

深入之浏览器缓存

作者: lmmy123 | 来源:发表于2019-06-29 13:42 被阅读0次

浏览器的缓存

强缓存

经过一次请求后,将文件放在内存或磁盘中,下次不需要发送请求,直接从本地拿

  • 缓存到内存

    当进程(浏览器页面)结束后,内存中缓存会被释放掉

  • 缓存到磁盘

    会一直存在

    Pragma和Expires和Cache-Control

    • Expires Http1.0

      过期时间,对比浏览器时间,没有过期则使用缓存数据

      缺点:由于系统时间可以修改,不准确

    • Cache-Control Http 1.1 通用的消息头字段,响应头和请求头都可以带上

      no-cache 不缓存 响应头设置代表跳过强缓存,请求头中设置代表跳过缓存策略

      no-store 不缓存响应数据 代表禁用一切缓存

      max-age 失效时间,以秒为单位 max-age = 0 代表跳过强缓存

      public 缓存可以共享

      private 个人的,缓存不可以共享

协商缓存 (对比缓存)

发送请求,服务器先检查头部是否有缓存标识,有则命中协商缓存,返回304

  • If-Modified-Since / Last-Modified

    响应头返回Last-Modified,

    请求头带上 if-Modified-sSnce : 值是响应头的Last-Modified

  • If-None-Matched / Etag

    Etag 服务器资源唯一的标志 http1.1

    响应头返回Etag,

    请求头带上 If-None-Matched : 值是响应头的Etag

    有了Last-Modified为什么还要Etag?

    • Etag精准度到秒,如果短时间内频繁改动资源,操作会失效

    • 有的文件会定时生成,内容一样,但是Last-Modified不一样

浏览器的刷新

  • 正常的链接进入

    先匹配强缓存,再匹配协商缓存

  • 页面刷新或拿地址重新打开页面

    跳过强缓存,发请求,匹配协商缓存

  • 强制刷新

    跳过缓存策略

  • 勾选disable cache

    请求头中设置 cache-control: no-cache 跳过缓存策略

相关文章

  • 深入之浏览器缓存

    浏览器的缓存 强缓存 经过一次请求后,将文件放在内存或磁盘中,下次不需要发送请求,直接从本地拿 缓存到内存当进程(...

  • 浏览器缓存(http缓存)

    浏览器缓存有两种:强制缓存和协商缓存 浏览器缓存机制 浏览器发送请求,会先从浏览器缓存中查找【请求结果】和【缓存标...

  • 缓存、cookie、token、session、localSto

    一、缓存分类 服务器端缓存(CDN缓存) 客户端缓存(浏览器缓存); 二、浏览器缓存 强缓存:浏览器在加载资源时,...

  • 深入浏览器缓存机制

    深入浏览器缓存机制 我们在开发过程中可能经常看到 200 (memory cache) 200 (disk cac...

  • 协商缓存和强缓存

    浏览器缓存主要有两类:缓存协商和彻底缓存,也有称之为协商缓存和强缓存 浏览器缓存机制浏览器缓存(Brower Ca...

  • 缓存之浏览器缓存

    有什么用 缓存是性能优化的一个方式,降低服务器压力、请求更快 浏览器缓存分类 浏览器缓存分两类:强制缓存和协商缓存...

  • DSBD

    1.浏览器缓存 浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识 强制缓存优先于协商缓存进...

  • HTTP缓存机制

    web缓存分为:数据库缓存、服务器缓存(代理服务器、cdn缓存)、浏览器缓存浏览器缓存分为:http缓存、inde...

  • HTTP 缓存控制

    Web 缓存 数据库缓存、服务器端缓存(代理服务器缓存、CDN 缓存)、浏览器(HTTP)缓存 浏览器缓存(本地储...

  • Web浏览器的缓存机制

    原文转载【Web缓存机制系列】2 – Web浏览器的缓存机制 浏览器端的缓存规则 对于浏览器端的缓存来讲,这些规则...

网友评论

      本文标题:深入之浏览器缓存

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