### 如何判断是否使用 CDN

1. DNS 解析查询

CDN 的核心原理就是将你的请求解析到离你最近的节点服务器

- 多次查询: 在不同地区或使用不同的 DNS 解析服务器（如 Google DNS, 阿里云 DNS）多次对目标域名进行 `ping` 或 `nslookup` 查询
- 观察 IP 地址: 如果每次查询返回的 IP 地址都不同，或者返回多个 IP 地址，那么很可能目标使用了 CDN。因为 CDN 会根据你的地理位置，将域名解析到不同的边缘节点服务器
- 查询CNAME: 许多 CDN 服务商会使用一个特殊的 CNAME（别名记录）来指向他们的 CDN 节点。例如，你查询 `www.example.com` 的 CNAME，如果返回一个类似 `www.example.com.cdn.cloudflare.net` 或 `w.alikun.com` 的域名，那么目标就使用了 CDN

你可以使用在线工具如 nslookup.io、`ping` 命令 或 `nslookup` 命令 来进行测试

2. HTTP 响应头分析

许多 CDN 服务商会在 HTTP 响应头中添加特定的信息来标识自己

- `Server` 字段: 一些 CDN 会在 `Server` 字段中暴露自己的身份，例如 `Server: cloudflare` 或 `Server: Tengine`（阿里巴巴的 CDN）
- `X-Powered-By` 或自定义字段: 有些 CDN 可能会添加自定义的 HTTP 头，如 `X-Cache`、`X-CDN` 或 `Via` 来指示内容是否由 CDN 缓存
- `Set-Cookie`: 一些 CDN 服务会在响应中设置特定的 Cookie 来追踪用户，这也能作为判断依据

你可以使用 `curl` 命令或浏览器的开发者工具来查看这些 HTTP 头信息。例如：`curl -I http://www.example.com`

3. IP 地址归属地查询

- IP 库查询: 如果通过 DNS 查询获得了目标 IP 地址，可以利用 IP 地址查询工具来判断其归属地
- 观察归属地: 如果 IP 地址归属地是一个知名的 CDN 服务商（如 Cloudflare, Akamai, AWS），那么目标就使用了 CDN

4. SSL/TLS 证书信息

- 证书颁发者: 有些 CDN 服务商会提供 SSL/TLS 证书服务，如果证书的颁发者是 Cloudflare 或 Let's Encrypt 等，这可能暗示使用了 CDN