检查访问状态与错误页,核心是逐条请求页面并记录 HTTP 状态码,而不是只打开首页看能不能显示。多人协作时,最容易出现的误解是“页面能打开就算正常”:实际上 200 之外还有 301、302、404、410、500 等多种状态,错误页也可能返回 200,看起来正常却让访问者和搜索引擎都拿不到正确信息。正确做法是先列出需要检查的 URL 清单,再用可复现的方式逐条请求,把状态码、最终地址和页面内容对应起来,最后把结果写进交付记录。
浏览器对错误页很宽容。服务器返回 404 时,如果配置了自定义错误页,浏览器照样显示一个排版完整的页面,肉眼很难判断它是 200 还是 404。判断方法不是看页面长相,而是看响应头里的状态码。可以用浏览器开发者工具的“网络”面板刷新页面,点开第一条文档请求,查看状态列;也可以用命令行工具请求,例如:
curl -I https://example.com/about
返回结果的第一行会写明状态码。把 example.com/about 换成实际要检查的地址即可。这个例子只说明方法,不指向任何真实站点。适用条件是你能在本地或服务器上执行命令;如果团队里有人不熟悉命令行,用开发者工具同样能完成检查,关键是统一记录口径。
多人协作返工多,往往是因为检查范围没有说清。建议在交付前固定检查以下项目,并把结果填在同一张表里:
每一项都记录三列:请求地址、状态码、最终地址。最终地址和请求地址不一致时,说明发生了跳转,要判断是预期内的 301 还是多余的 302 链。跳转链越长,访问路径越不稳定,交付前应尽量收敛到一跳到位。
404 表示地址不存在,500 表示服务器处理请求时出错,两者的排查方向完全不同。看到“页面打不开”就统一改成跳转首页,是常见但有害的处理方式:把本该 404 的地址 302 到首页,访问者会以为自己找错了地方,搜索引擎也无法判断原地址已经失效。更合理的条件是:地址确实迁移了,用 301 指向最接近的新地址;地址彻底下线且没有替代内容,保留 404 并给出站内搜索或栏目入口;同一地址反复出现 500,先查服务端日志和依赖服务,而不是用跳转掩盖错误。
还有一种情况是错误页返回 200。这种做法让访问者看到“页面不存在”的提示,但响应头却说一切正常,后续排查和收录判断都会被误导。检查时以状态码为准,不以提示文字为准。
检查完成后,交付物至少包含:检查日期、执行人、URL 清单、每条的状态码与最终地址、异常项的处理结论。异常项要写清是“已定位的原因”还是“可能原因”。例如“该地址返回 404,因为改版时未配置跳转”属于已定位;“该地址偶发 500,可能与上游接口超时有关”属于待验证的可能原因,需要附上复现步骤和日志位置,方便接手的人继续查。
下一步可以做的具体动作:从交付清单里挑出所有非 200 的地址,按 301、404、500 三类分组,先处理 301 链和 500,再确认 404 页面是否提供了有效返回入口,然后把这份分组结果同步给协作成员,作为下一轮验收的起点。