【http】http 缓存

http 缓存

1 关于缓存

什么是缓存?
没有必要重新获取的资源 可以存储

为什么需要缓存?
让页面加载更快,减少网络请求和体积,网络请求不稳定

哪些资源可以缓存?
静态资源(js css img)

2 http 缓存策略(强制缓存+协商缓存)

2.1 http缓存 - 强制缓存

在这里插入图片描述

Cache-Control

  • Response Headers中 服务端返回
  • 控制强制缓存的逻辑
  • 例如 Cache-Control:max-age=3153600单位是秒
    • max-age 过期时间
    • no-cache 不用强制缓存
    • no-store 不用本地缓存 不用服务端缓存

Expires

  • 同在Response Headers 中
  • 同为控制缓存过期
  • 已被 Cache-Control 代替

2.2 http缓存 - 协商缓存

  • 服务器端缓存策略
  • 服务器判断客户端资源,是否和服务端资源一样
  • 一致则返回304,否则返回200和最新的资源

在这里插入图片描述

资源标识

  • 在Response Headers中,有两种
  • last-modified 资源的最后修改时间
  • Etag 资源的唯一标识(一个字符串,类似人类指纹)

last-Modified 和 Etag

  • 优先使用Etag
  • Last-Modified 只能精确到秒级
  • 如果资源被重复生成,而内容不变,则Etag 更精确

2.3 缓存综述

在这里插入图片描述

3 刷新操作方式,对缓存的影响

三种刷新操作

  • 正常操作:地址栏输入url,跳转链接,前进后退等
  • 手动刷新:f5 点击刷新按钮 右侧菜单刷新
  • 强制刷新:ctrl+f5

不同刷新操作,不同的缓存策略

  • 正常操作:强制缓存有效,协商缓存有效
  • 手动刷新:强制缓存失效,协商缓存有效
  • 强制刷新:强制缓存失效,协商缓存失效

相关推荐

  1. 缓存

    2024-04-10 06:24:02       65 阅读
  2. 缓存缓存缓存

    2024-04-10 06:24:02       32 阅读
  3. Buffer(缓冲)、Cache(缓存

    2024-04-10 06:24:02       62 阅读
  4. 缓存缓存简介

    2024-04-10 06:24:02       35 阅读
  5. Redis缓存击穿、缓存雪崩、缓存穿透

    2024-04-10 06:24:02       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 06:24:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 06:24:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 06:24:02       82 阅读
  4. Python语言-面向对象

    2024-04-10 06:24:02       91 阅读

热门阅读

  1. python中os模块和sys模块的使用

    2024-04-10 06:24:02       35 阅读
  2. DOTS Unity.Physics物理引擎碰撞事件处理

    2024-04-10 06:24:02       34 阅读