
答:CDN缓存规则是指在内容分发网络中定义如何缓存资源(缓存时间、缓存范围、忽略参数、缓存层级等)的规则集合;而静态内容加速通常指通过CDN将静态资源(如图片、CSS、JS、字体)分发到就近节点以缩短响应时间与减少源站压力。两者关系:缓存规则决定了静态内容如何被缓存与更新,从而直接影响加速效果与一致性。
1. 缓存命中率决定加速效果;2. 合理的缓存策略减少回源请求;3. 静态与动态资源通常采用不同规则。
例如,对图片设置长期缓存(Cache-Control: max-age=31536000)并使用资源版本化,可极大提高静态内容加速效果。
CDN、回源、缓存击穿、缓存穿透、缓存雪崩、Cache-Control、ETag、Expires。
答:在云主机+CDN场景中,配置流程通常包括:创建CDN加速域名、绑定源站(云服务器)、设置缓存规则与回源策略、开启压缩与HTTPS、发布生效。
1)在CDN控制台新增加速域名并填写源站地址(例如你的云服务器公网IP或负载均衡地址)。
2)配置缓存规则:按路径或文件类型设置缓存时间(例如 /static/* → 30天,/api/* → 不缓存或短缓存)。
3)设置回源策略:强制回源时机(如404、状态码500或自定义Header);配置回源Host与回源协议。
建议先在测试域名或小范围流量中验证规则生效,再逐步切换主域名以避免影响线上用户。
确保源站返回正确的缓存头(Cache-Control、Expires、ETag)与gzip/ Brotli压缩配置,以配合CDN缓存策略。
答:按资源类型与更新频率制定差异化缓存策略。静态且不常改动的资源(图片、字体、第三方库)建议长期缓存;频繁变化的资源(HTML、接口)建议短缓存或不缓存并启用回源校验。
- 图片、字体、脚本、样式:Cache-Control: public, max-age=31536000(1年)并使用文件名/路径版本化。
- HTML 页面:Cache-Control: no-cache 或 max-age=60,并配合ETag/Last-Modified进行协商缓存。
当资源更新时,可通过CDN控制台或接口执行刷新(purge)操作;配合文件版本号(如 style.v2.css)可以避免频繁purge,提高稳定性。
若资源URL带有无关参数(如 tracking),可在CDN设置中启用“忽略参数”或设置参数白名单,从而提高缓存命中率。
答:常见原因包括源站返回不当缓存头、CDN规则优先级不正确、URL参数导致缓存分散、资源版本未变更。排查步骤应从源站响应头、CDN缓存诊断工具、日志与控制台规则顺序入手。
1)用curl或浏览器开发者工具查看响应头:确认是否包含Cache-Control、Expires、ETag等。
2)检查CDN控制台的规则是否被其他更高优先级规则覆盖;查看缓存命中率与回源次数。
3)验证URL是否因参数不同而被视作不同资源。
- 修改源站或CDN头部以一致化缓存策略;- 使用版本化避免强刷;- 合并静态文件并开启压缩与HTTP/2。
curl -I https://yourdomain.com/resource,CDN提供的诊断页面、日志中心、第三方测速工具(WebPageTest、GTmetrix)。
答:性能优化与安全策略应并重:通过缓存分层、静态资源分离、资源版本化、开启压缩与HTTP/2/QUIC、配置防盗链与WAF、使用HTTPS强制重定向等措施提升体验与安全。
1)缓存分层:设置近源节点缓存与边缘节点缓存规则,减少回源频率;2)开启Gzip/Brotli压缩并合并小文件;3)启用HTTP/2或QUIC减少连接延迟。
1)启用HTTPS并在CDN边缘完成证书终止;2)配置防盗链限制非授权域名请求静态资源;3)使用WAF与限流策略防止恶意流量导致缓存穿透。
建立监控与告警(缓存命中率、回源QPS、响应时延),并将部署流程自动化(CI/CD自动替换版本号并触发必要的CDN刷新或无刷新发布策略)。