跳到正文

HTTP 响应头检测

HTTP Header Inspector

请求一个网址,列出完整的响应头、跳转链路、各段耗时和实际用到的压缩方式。

向一个 URL 发一次请求,显示它返回的全部响应头——按用途分组,Cache-Control 拆成各个指令逐一解释。这是浏览器在渲染任何东西之前看到的内容,缓存和压缩问题真正藏身的地方。

☁️ 使用我们的服务器httpheadersinspectdebug

这个请求由我们的服务器代你发出。送到服务器的只有你输入的网址,你的 Cookie 和登录状态都不会跟着走。服务器只连接公网地址,私有地址和内网地址一律拒绝。

最多跟随 5 次重定向,显示的是最后一个响应的头字段。

怎么用

  1. 给它你真正要看的 URL

    最多跟随五次重定向,显示的是最后一个响应的头。如果你关心的是重定向本身,上方会画出链条和每一跳的状态。

  2. 先读注解再看表格

    每条注解都从某个具体的头推出——缺 Cache-Control、被 max-age 覆盖的 Expires、没有 charset 的 HTML 响应。注解是结论;表格是证据。

  3. 检查压缩那一行

    请求声明接受 gzip、deflate、br和zstd;返回的是服务器选中的那个。没有 Content-Encoding 的文本响应,通常比必要的大 70%。

常见问题

我的登录状态或 Cookie 会随请求发出吗?

不会。请求由我们的服务器发出,不带你的任何 Cookie 和会话。这也意味着一个需要登录的页面返回的是它的登录页,不是你看到的那个版本。

能检查我自己内网里的东西吗?

不能,而且是有意的。出站抓取会先解析主机名,拒绝私有、环回和链路本地地址——包括解析到这类地址的公网域名。没有这条规则,这个页面就成了让我们的服务器探测别人内网的工具。

这里的头和开发者工具里的不一样

这是正常的。CDN 会按地域、Accept-Encoding、Vary 以及该边缘节点有没有缓存副本给出不同的答案。这是从一个地方发出的一次请求;你的浏览器是另一次。

Content-Length 为什么没有?

几乎总是分块传输编码——服务器在知道大小之前就开始发送了。动态页面这是正常的,也是从这类页面下载时看不到进度百分比的原因。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。