参考资料

  1. HTTP 请求方法的限制主要体现在缓存行为、安全策略和配置能力
  2. 支持的MimeType 设置教程
  3. 状态码过期时间
  4. 缓存过期时间
  5. 跳过Set-Cookie 设置教程
  6. CDN共享缓存配置详解
  7. 从零开始配置 CDN
  8. 允许If-Modified-Since回源 设置教程

CDN(内容分发网络)支持缓存分片内容

CDN(内容分发网络)支持缓存分片内容,主要针对大文件(如视频、软件安装包)的分段缓存和分发。以下是核心要点:


1. 什么是分片内容缓存?

  • 场景:用户请求大文件的某一段(如视频的10MB-20MB部分),而非整个文件。

  • 技术基础:依赖HTTP协议的**Range请求(请求头Range: bytes=start-end)和206 Partial Content**响应状态码。

  • CDN作用:CDN节点仅缓存被请求的文件分片,按需回源获取其他分片,避免传输整个文件。


2. 工作流程

  1. 用户请求分片
    → 浏览器发起带Range: bytes=0-1048576(示例:0-1MB)的请求。

  2. CDN节点检查缓存
    → 若该分片已缓存,直接返回206 Partial Content + 分片数据。
    → 若未缓存,向源站转发Range请求。

  3. 源站响应分片
    → 源站返回206状态码及对应分片数据,CDN节点缓存该分片。

  4. 后续请求
    → 同一CDN节点收到相同分片请求时,直接响应缓存内容。


3. 关键配置项

  • 启用Range请求支持

    • 在CDN控制台开启Range回源Range缓存功能(默认通常开启)。

  • 分片大小设置

    • 部分CDN允许自定义分片缓存策略(如:按1MB/分片存储)。

  • 缓存规则

    • 设置大文件分片的缓存过期时间(如视频分片缓存30天)。

  • 分片合并逻辑

    • 当用户请求连续分片时,CDN可能合并响应(如请求0-1MB和1-2MB,返回0-2MB)。


4. 优势

  • 降低带宽成本
    CDN仅缓存和传输被请求的分片,减少回源流量。

  • 加速用户体验
    用户快速获取首帧视频或文件开头,无需等待完整下载。

  • 减轻源站压力
    源站无需处理完整文件请求,只需提供分片数据。

  • 提高缓存利用率
    高频访问的分片(如视频开头)被复用,冷门分片不占用缓存空间。


5. 注意事项

  • 源站必须支持Range请求
    源服务器需正确响应206 Partial Content,否则CDN无法分片缓存。

  • 分片缓存失效
    更新大文件时,需刷新CDN缓存或使用版本号(如file_v2.mp4)确保用户获取新分片。

  • 存储成本
    分片缓存可能增加CDN节点的存储碎片,需监控存储用量。

  • 分片大小选择
    过小分片(如100KB)增加请求次数;过大(如10MB)降低灵活性。建议根据业务调整(视频常用1-4MB)。


6. 应用场景

  • 视频点播(VOD):用户拖拽进度时实时请求不同分片。

  • 大型文件下载:断点续传或分块下载(如游戏更新包)。

  • 直播时移:回看历史直播片段时按需加载