可复查的状态证据,指的是第三方或同事在不依赖你口头描述的情况下,能重新执行同一检查并得到一致结论。对404页面而言,核心证据是服务器返回的HTTP状态码,辅以响应头、抓取工具记录和服务器访问日志。只看到浏览器显示“页面不存在”不算证据,因为那可能是软404——页面内容提示未找到,但状态码仍是200。
404状态证据通常用于三种场景:确认某个URL确实返回404、确认它没有被错误地返回200、确认搜索引擎抓取时看到的状态与用户一致。三种场景需要的资料不同。
HTTP/1.1 404 Not Found。如果只交付一张浏览器截图,验收方无法判断状态码,也无法排除缓存或前端路由干扰。因此截图只能作为辅助,不能作为主证据。
最直接的方法是发送一个不执行JavaScript的请求,只读取响应头。以 curl 为例:
curl -I https://example.com/not-exist
输出第一行就是状态码。加 -I 只取头部,避免下载正文。若需要保存为可复查文件,可把输出重定向到文本文件,连同执行时间、执行人和命令原文一起归档。
判断标准:
404,说明服务器明确声明资源不存在。200,但正文是“未找到”,属于软404,需要修正。301 或 302,说明该URL被重定向,不是404,应按重定向方案处理。适用条件:该方法适用于返回静态或服务端渲染响应的站点。如果站点是纯前端路由,服务器可能对所有路径都返回200,此时命令行结果不能代表最终渲染结果,需要改用能执行JavaScript的抓取方式,并同时记录渲染后的页面内容。
面对一个已失效的URL,常见选择是保留404,还是重定向到相关页面。比较依据不是个人偏好,而是该URL是否还有等价内容、是否有外部链接指向它、以及重定向目标是否与用户意图一致。
需要区分:robots.txt 的抓取限制不等于可靠的索引移除。即使robots.txt禁止抓取某路径,该URL仍可能因外部链接出现在搜索结果中。站点地图也不保证收录。因此不能用“已加入站点地图”或“已写进robots.txt”替代404状态证据。
单次命令行请求只能证明“此刻这台机器看到的状态”。要证明搜索引擎抓取时看到的状态,需要把抓取工具的响应记录与服务器访问日志按时间和URL对齐。
判断结果:两次记录状态码一致,证据成立;不一致时,先定位差异来源,再决定以哪个为准。若差异来自缓存,应清理缓存后重新采集,而不是直接修改结论。
从交付结果倒推,一份可复查的404状态证据应包含:
验收时,验收方应能按记录中的命令重新执行一次,并得到相同状态码。若无法复现,证据不成立,需要补充环境说明或改用更稳定的采集方式。
下一步:挑一个你怀疑是软404的URL,先用 curl -I 取响应头,再与服务器日志中最近一次抓取记录比对;若状态码不一致,先排查缓存和渲染方式,再决定是保留404还是改为301。