Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 个人简历

  • 人生总结

  • 实用技巧

  • 影剧观感

  • 教育

  • 服务搭建

    • Code Server搭建指南
    • deepfake 项目搭建
    • 博客

      • 几款好看的博客主题
      • 博客收录注意事项
      • vuepress踩坑记录
      • 博客分类脑图生成
      • 博客评论踩坑记录
      • 博客配置全文搜索
      • 博客配置资源缓存
        • github page
        • vercel
      • 如何部署博客
      • 给网站添加一只看板娘
    • 域名解析常见问题
  • 灵感记录
  • 理财投资

  • 生活常识

  • 知识科普

  • 自媒体

  • 面试经验

  • 闲言碎语
  • 服务搭建
  • 博客
gahing
2023-04-17
目录

博客配置资源缓存

需要给博客的静态资源配置合理的缓存,提升页面访问速度。

这里简单讲下 github page 和 vercel 两种部署方式的缓存如何配置

# github page

github page 默认给所有资源(包括 html 文件) 设置了 cache-control: 600 (10min) 如果超过强缓存时间,会走 304 协商缓存

该缓存设置目前不支持调整

能理解 github 设置此策略的含义:面向通用方案,有些仓库的资源是不带 hash 的,需要有更新机制

但是对于带打包的博客这类的页面,我们希望是:

  • html 文件的缓存时间较短,10min OK
  • 其他资源的缓存时间可以设置久一点,比如 7 day

# vercel

目前博客是部署在 vercel 上,默认没有强缓存,都是协商缓存

需要在项目根目录下增加 vercel.json 文件

如果为 monorepo 项目,需要调整 json 位置,可以到控制台调整 Root Directory 取值

配置示例:

{
  "headers": [
    {
      "source": "/service-worker.js",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, max-age=0, must-revalidate"
        }
      ]
    },
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, maxage=600, s-maxage=600, stale-while-revalidate=1200"
        }
      ]
    },
    {
      "source": "/(assets|img)/(.*)",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, maxage=2592000, s-maxage=2592000, stale-while-revalidate=31536000"
        }
      ]
    }
  ]
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

参考文档:

  • How to Configure the Cache-Control Response Header in Vercel Projects (opens new window)
  • https://vercel.com/docs/concepts/edge-network/caching
编辑 (opens new window)
上次更新: 2024/09/01, 23:56:56
博客配置全文搜索
如何部署博客

← 博客配置全文搜索 如何部署博客→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式