参考资料

  1. 如何设置nginx高级安全配置
  2. Tengine编译安装详细说明以及案例
  3. NginxuWSGI模块配置详细说明以及案例
  4. Nginx在负载均衡中的角色
  5. Cache-Control头设置max-age和immutable属性
  6. Nginx配置修改工具Ansible详细说明以及案例
  7. NginxFastCGI模块配置详细说明以及案例
  8. Nginx GitLab(配置归档工具)配置详细说明以及案例

Cache-Control头设置max-age和immutable属性

  1. max-age

    • 用法: Cache-Control: max-age=<seconds>

    • 解析: 指定资源在缓存中的最大存储时间(秒)。在此期间内,浏览器直接从缓存加载资源,不发送请求到服务器。

    • 示例: Cache-Control: max-age=3600(缓存1小时)。

  2. immutable

    • 用法: Cache-Control: immutable

    • 解析: 声明资源在有效期内(如max-age内)不会改变。浏览器即使刷新页面也不会重新验证,直接使用缓存。

    • 适用场景: 静态且内容永不变化的资源(如文件哈希命名的资源)。

    • 示例: Cache-Control: max-age=31536000, immutable(缓存1年且不可变)。

  3. no-transform

    • 用法: Cache-Control: no-transform

    • 解析: 禁止中间代理(如CDN、运营商)对资源进行修改,例如压缩图片、转码视频等。

    • 适用场景: 需保持原始格式的资源(如严格校验的文件)。

    • 示例: Cache-Control: no-transform

组合示例:
Cache-Control: max-age=604800, immutable, no-transform  

  • 缓存7天,期间不重新验证,且禁止代理修改资源。