PAGES × CLOUDFLARE CDN

整份缓存。
只取一段。

给 Pages 加上自定义域名与缓存规则后,CDN 能否只返回指定字节?对比浏览器结果,再用独立客户端确认真实网络响应。

8 MiB可复现的二进制文件
64 KiB单次范围读取上限
206状态、长度、内容同时校验

01 / EXPERIMENT

选择两个入口

尚未运行

每个入口依次执行:预热前 Range → 完整读取并校验 8 MiB → 六组 Range。每轮使用独立参数,同轮内始终复用同一 URL。

02 / EVIDENCE

浏览器响应,逐项核对

服务端 Range 尚未证实。浏览器可从已下载的完整缓存中生成 206;网页 fetch 结果不能单独证明 CDN 在网络上只返回了这些字节。
入口 / 阶段读取范围fetch 状态读取字节缓存响应头耗时字节校验
运行后,浏览器可见的响应头与字节校验结果会显示在这里。

读取超限时会取消余流;显示的是应用已经收到的字节下限,并非精确网络流量。完整预热会让浏览器拥有整份文件,之后的 206 可能由本地缓存切片产生;必须用不带浏览器缓存的 Node 客户端复核。

接入配置与判定方法 +
  1. Pages 绑定 HansO-o/ddb 的 main,构建命令 npm run build,输出目录 dist。
  2. 在 Pages 的 Custom domains 绑定测试子域名,确认对应 DNS 记录开启橙云代理。
  3. Cache Rules 仅匹配该主机的 /data/probe- 路径,选择 Eligible for cache;Edge TTL 选择忽略源站缓存头,缓存一天。
  4. 网页结果用于观察。最后运行 npm run probe -- https://ddb-boo.pages.dev https://你的自定义域名,以独立客户端的状态、长度与内容作为网络判定依据。

浏览器显示的 206、HIT 或 Cf-Ray 都可能涉及已缓存的响应或重新验证。没有 HIT 也不等于 CDN 一定未缓存;请同时保留 Node 复测记录。一次完整请求不能保证全球所有节点都已预热。

项目只包含合成数据,不使用 Worker、Pages Functions 或 Service Worker。不手动添加 Accept-Ranges、Content-Range 或伪造 206 响应。

查看源码与命令行测试 ↗