
确认是否使用CDN可以判断页面加载速度与缓存策略,特别是对大量的静态资源(如 JS、CSS、图片)优化效果明显。
识别资源的真实源头有助于排查跨域、证书或被篡改的风险,同时便于定位部署位置(自托管或第三方服务)。
在Chrome/Edge中按F12打开开发者工具,切换到Network,勾选“Preserve log”和“Disable cache”,刷新页面以完整捕获请求。
选择某个静态资源,查看请求的URL和“Remote Address/远程地址”。如果域名为第三方或包含cdn供应商标识(如 akamai、cloudfront、stackpath、cdn),通常就是通过CDN分发。
在Headers里查看请求头(Request headers)和响应头(Response headers)。常见CDN指示字段有:Via, Age, X-Cache, cf-cache-status等;这些字段出现则高度可能是CDN在中间层。
开发者工具显示的域名可以用于进一步用命令行(如 dig、nslookup)或在线工具查询DNS记录,观察是否有CNAME指向CDN供应商,从而推断源站。
复制资源URL,运行 curl -I https://example.com/path 查看服务器响应头。若响应包含供应商特有的头,说明资源走了第三方网络;若返回的Server或Header指向原始主机,则可能未经过CDN。
部分CDN会对带有签名或授权的请求(如私有Bucket)做特殊响应。通过观察Referer、Origin以及是否有预签名参数可以推断资源是否来自对象存储或CDN边缘。
有些站点把CDN反向代理在同一域名下,肉眼看不到不同域名。此时要看响应头中的 Age/Via 或比对远端IP是否为CDN厂商的IP段。
通过观察 X-Cache 或 cf-cache-status 可判断是否命中缓存,“HIT”意味着边缘缓存返回资源,“MISS/REVALIDATE”说明回源。结合Timing面板的各阶段时间,可进一步判断是否发生回源。
Q1: 如何快速判断图片是否走CDN?
A1: 在Network里选中图片,查看域名、Remote Address以及响应头有无Age/Via/X-Cache等字段。
Q2: 同域名也可能使用CDN吗?
A2: 可以。通过CNAME或反向代理实现,需结合DNS查询和响应头确认。
Q3: 没有Age等字段就一定不是CDN吗?
A3: 不是。有些CDN不暴露这些字段,需查CNAME、IP或使用外部检测工具。
Q4: 如何定位真正的源站IP?
A4: 可通过DNS历史记录、nslookup查找A/CNAME链,或让服务器返回一个特殊请求以强制回源检查。
Q5: 是否能通过浏览器直接看到CNAME?
A5: 浏览器开发者工具显示的是请求域名与远端地址,CNAME需要用dig/nslookup或在线DNS工具查询。
Q6: 判断CDN命中率的简单方法?
A6: 多次刷新同一资源并观察响应头的缓存字段(如X-Cache/Age),以及Timing里server/transfer时间的变化。