CDN客户端缓存策略配置指南
2025-07-18
16
参考资料
CDN客户端缓存策略配置指南
CDN客户端缓存策略配置指南
基本配置原则
理解缓存头:客户端应遵循CDN返回的Cache-Control和Expires头
缓存层级:
浏览器缓存
CDN边缘节点缓存
源站
具体配置方法
HTTP响应头配置
Cache-Control:
Cache-Control: public, max-age=3600
public: 允许所有缓存
max-age: 缓存时间(秒)
Expires:
Expires: Wed, 21 Oct 2025 07:28:00 GMT
ETag/Last-Modified:
用于缓存验证
不同服务器配置示例
Nginx:
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 1y; add_header Cache-Control "public, no-transform"; }
Apache:
<FilesMatch "\.(jpg|jpeg|png|gif|js|css)$"> Header set Cache-Control "max-age=31536000, public" </FilesMatch>
Node.js (Express):
app.use(express.static('public', { maxAge: '1y', setHeaders: (res, path) => { if (path.endsWith('.html')) { res.setHeader('Cache-Control', 'no-cache'); } } }));
最佳实践
静态资源:设置长期缓存(1年)并添加版本号
HTML文件:设置no-cache或短缓存
API响应:根据内容更新频率设置适当缓存
使用CDN提供的缓存清除接口处理紧急更新
验证方法
检查HTTP响应头
使用浏览器开发者工具查看缓存状态
使用curl命令验证:
curl -I https://example.com/asset.js
注意事项
避免过度缓存动态内容
确保重要更新能通过缓存清除机制传播
监控缓存命中率调整策略