美文网首页
http 缓存

http 缓存

作者: RickyWu585 | 来源:发表于2022-05-25 15:03 被阅读0次

强制缓存

  • Expires:就是服务器 response header里带上:
Expires: Wed, 21 Oct 2000 07:28:00 GMT

然后在这个时间前,客户端浏览器都不会再发起请求,而是直接用缓存资源。

  • Cache-Control
  1. max-age是其中一个属性:
Cache-Control: max-age=20000

这表示当前资源在20000秒内都不用再请求了,直接使用缓存。

  1. no-cache:使用缓存前,强制要求把请求提交给服务器进行验证(协商缓存验证)。
  2. no-store:不存储有关客户端请求或服务器响应的任何内容,即不使用任何缓存
  • 比较:Cache-Control优先级较高,因为Expires是按本地时间来的,而本地时间可能不准。如果在Cache-Control响应头设置了 max-age 或者 s-maxage 指令,那么 Expires 头会被忽略。

协商缓存

  • ETag:
  1. 当服务器返回时,根据返回内容计算出一个hash值或者一个版本号,具体要看服务器的计算策略,然后加到response header
    image.png
  2. 客户端拿到后会将这个ETag和返回值一起存下来,等下次请求时会使用配套的If-None-Match,将这个放在request header
    image.png
  3. 服务端拿到请求里的If-None-Match和当前的ETag比较,一样的话返回304,告诉浏览器使用本地缓存,不一样的话返回200,使用最新的数据
  • Last-Modified & If-Modified-Since
    Last-Modified和If-Modified-Since也是配套使用的,类似于ETag和If-None-Match的关系。只不过ETag放的是一个版本号或者hash值,Last-Modified放的是资源的最后修改时间。Last-Modified是放到response的header里面的。

webpack配置缓存:文件名哈希

output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].[contenthash].js'
  }
  • 这样文件内容改变,重新打包后的文件名的hash就变了

参考:https://segmentfault.com/a/1190000038562294

相关文章

  • HTTP缓存原理

    什么是HTTP缓存 HTTP缓存通常指浏览器缓存,基于HTTP中header字段实现HTTP缓存分为强缓存和协商缓...

  • 前端缓存

    前端缓存 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • 前端缓存详解

    一、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • PWA笔记一:Web的万物基础缓存

    前言 这里讨论的缓存包括两种,一种是HTTP缓存,一种是Service Worker缓存。 HTTP缓存 HTTP...

  • 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存)

    前端缓存分为HTTP缓存和浏览器缓存 其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而...

  • http缓存和各个版本差异理解

    http缓存我们可以通过设置http头部属性来对资源进行缓存,资源缓存分为强制缓存和协商缓存 强制缓存expire...

  • http缓存

    http缓存分为强制缓存和对比缓存 强制缓存时, 客户端先判断本地缓存是否有效(http/1.1通过Cache-C...

  • HTTP缓存

    缓存控制Cache-Control Cache-Control是Web性能优化的一种,能加速HTTP请求与响应。 ...

  • http缓存

    来源: 《http权威指南》学一个东西,怎么去学习呢?这分为三个步骤,是什么, 为什么, 怎么做?文章我会着重讲怎...

  • Http缓存

    参考文章:http://oohcode.com/2015/05/28/http-cache/ 客户端 头字段: C...

网友评论

      本文标题:http 缓存

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