阅读时光
curl -I 返回 200 就算机场可用吗?HEAD 与 GET 要分开测
用 curl -I 看到 200,不等于真实网页或下载一定可用。-I 发送的是 HEAD 请求,主要获取响应头,不传输正文;服务器、CDN 或代理对 HEAD 与 GET 的处理可能不同。
HEAD 能证明什么
HTTP 规范把 HEAD 定义为与 GET 相同但不返回响应内容,服务端应尽量提供类似的响应头,也允许省略只有生成正文时才能确定的字段。因此,HEAD 成功只证明元数据请求成功,不能证明正文能完整传输、脚本资源能加载或长连接稳定。
先用 HEAD 做低成本预检:
curl.exe -I -sS -o NUL -w "head=%{response_code} total=%{time_total}\n" `
"https://你有权测试的目标/"
随后对同一小页面做 GET,并丢弃正文:
curl.exe -sS -o NUL `
-w "get=%{response_code} type=%{content_type} bytes=%{size_download} total=%{time_total}\n" `
"https://你有权测试的目标/"
测试目标应是体积明确的小页面,避免为验证一个状态码消耗大量套餐流量。
怎样解释差异
HEAD 为 200、GET 失败时,记录 GET 的状态码、退出码和客户端日志;这可能是目标站点规则、缓存层或正文传输问题。两者都成功但 GET 很慢,则继续比较首字节与下载阶段。不要把 HEAD 的耗时写成页面加载速度。
机场试用应使用相同目标、相同网络和相近时间,对每个候选节点分别做一组 HEAD/GET。连续两轮都出现相同差异,结论才有参考价值。
可选候选入口
以下为本站推广入口,注册可能为本站带来收益;邀请码不代表优惠、稳定性或退款承诺,请先核对实时套餐条款并做小额试用:
验收标准
记录中应同时存在 HEAD 和 GET 的状态、GET 实际字节数以及异常说明。只有 GET 正文可重复完成,才能把该目标记为通过。
评论