检查访问状态与错误页,核心是先用可复现的方式拿到 HTTP 状态码,再区分是网络层、服务器层还是应用层的问题。不要只看浏览器页面,因为浏览器会缓存、重试或展示自定义错误页,容易掩盖真实状态。
同一路径在不同网络、不同设备上结果可能不同。开始排查前,先记录以下信息,保证每次测试条件一致:
如果条件不固定,一会儿能打开、一会儿报错,就无法判断是服务器不稳定还是本地缓存造成。
浏览器地址栏不显示状态码,可以用命令行工具直接请求。以下示例中的域名是假设的,只用于说明格式:
curl -I https://example.com/page
加 -I 只请求响应头,适合快速看状态。需要跟随跳转时加 -L:
curl -IL https://example.com/page
输出第一行类似 HTTP/1.1 200 OK,其中数字就是状态码。如果看到 301 或 302,说明发生了跳转,要顺着 Location 头继续看最终落到哪个地址。若最终返回 404,说明目标资源不存在;返回 500,说明服务器处理请求时出错。
状态码按首位数字分组,含义不同,处理方向也不同:
需要强调:同一现象可能有多个解释。例如页面打不开,可能是 DNS 解析失败、连接超时、服务器返回 500,也可能是本地代理拦截。不要看到一次报错就断定唯一原因,应结合状态码、响应头和服务器日志交叉验证。
定位到方向后,按下面顺序处理并复查:
复查时不要只测首页,要测出问题的具体路径和关联接口。若使用 CDN 或反向代理,还要确认缓存是否仍返回旧错误页,必要时清理对应缓存后再测。
下一步:选一个当前报错的 URL,用 curl -IL 记录完整跳转链和最终状态码,再对照服务器日志中同一时间的记录,把观察结果与日志证据放在一起判断。