美文网首页
浏览器缓存类型

浏览器缓存类型

作者: 云婣 | 来源:发表于2020-05-23 17:24 被阅读0次

强缓存

强缓存指的是缓存在内存(Memory Cache)和硬盘(Disk Cache)的内容。

强缓存的产生依赖于响应头中的expires字段和cache-control字段。

  • expires字段是Http1.0的产物,表示缓存的到期时间。
  • cache-control字段是Http1.1的产物,表示缓存最大可用时长,有以下配置:
    • Max-age: 缓存的时长,单位为秒
    • no-cache:忽略强缓存,直接访问协商缓存·
    • no-store:忽略强缓存和协商缓存,直接访问服务器
    • public:所有数据可以在任意地方缓存
    • private:默认,所有内容只有客户端可以缓存

浏览器针对这两种类型的强缓存,缓存的位置的选择,可能通过以下原则:

1、内存缓存:存放脚本、base64数据和字体等


内存缓存小图片

2、硬盘缓存:会存放样式文件、图片、比较大的文件等


硬盘缓存比较大的文件

协商缓存

当强缓存失效后,浏览器就会携带缓存标志向<b>服务器</b>发送请求。

  • 响应头字段,服务器自动返回:
    • Etag:服务器基于某种规则对资源生成一个标志,类似于hash的作用
    • If-None-Math:文件最后修改时间
  • 请求头字段,浏览器自动携带:
    • Last-Modified:对应的是Etag的值
    • If-Modifie-Since:对应的Last-Modified的值

服务器根据这两个值进行匹配,如果相等,说明文件没有发生变化,返回304,浏览器从缓存中取;

如果不相等,服务器发送最新的内容,返回200。

如以下内容,cache-control的强缓存时长设置为0,强缓存过期时间为0,不知道在强缓存中获取资源,进行协商缓存,etag不变,返回304,读取浏览器缓存。

  • 请求头:
    • If-None-Match: W/"8043560548d710d08b50ffc528cc770d"
  • 响应头:
    • Cache-Control: max-age=0, private, must-revalidate
    • ETag:W/"8043560548d710d08b50ffc528cc770d"

Service Worker Cache

如果开启了Service Worker Cache,在强缓存和协商缓存中间,则会增加一步,从Service Worker中判断缓存。


service worker 缓存类型

相关文章

  • HTTP缓存

    缓存类型:(私有缓存与共享(代理)缓存) 浏览器缓存:私有缓存localStorage;sessionStorag...

  • 浏览器缓存问题

    1. 浏览器缓存基本类型 强缓存浏览器加载资源时,会先根据本地缓存资源的 header 中的 Expire 和 ...

  • http缓存机制

    浏览器缓存包含两种类型,即强缓存(也叫本地缓存)和协商缓存,浏览器在第一次请求发生后,再次请求时: 浏览器在请求某...

  • 前端基础整理 | HTTP缓存原理基础

    一、浏览器缓存类型 浏览器缓存分为强缓存和协商缓存。一般来说,两者的关系是: 先强缓存,服务器先从http头信息来...

  • 对http客户端缓存的探索

    浏览器缓存的话分为强缓存和协商缓存,类型是需要根据响应头返回的内容来决定的。 本地请求流程 合理利用浏览器缓存的优...

  • 浏览器缓存策略

    最近在对项目做 IE 11 兼容,由 IE 的缓存问题,引发我对于浏览器缓存策略的思考。 缓存类型 web缓存主要...

  • 浏览器缓存类型

    强缓存 强缓存指的是缓存在内存(Memory Cache)和硬盘(Disk Cache)的内容。 强缓存的产生依赖...

  • 浏览器的缓存机制总结

    浏览器缓存类型 有两种,强缓存和协商缓存 强缓存:不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台...

  • 强缓存与协商缓存

    一、强缓存 当浏览器请求某个资源时,服务端会在response header中对此资源做缓存配置,缓存的时间和类型...

  • 掌握缓存,不再让你蓝瘦香菇

    本文内容概要: 1 Web缓存是什么?为什么要使用它? 2 Web缓存的类型 3 浏览器缓存的基本知识 3.1 E...

网友评论

      本文标题:浏览器缓存类型

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