网站状态码查询
网站状态码查询,最常见的用法是「看到 200 就放心」。
200 只说明服务器回了话,不说明内容是对的,也不说明这一趟走得快。
状态码按段看,每段指向的地方不一样。
| 状态码段 | 说明什么 | 先看什么 |
|---|---|---|
| 2xx | 服务端应答了 | 内容与耗时 |
| 3xx | 被指到另一个地址 | 跳转目标与会话 |
| 4xx | 请求被挡住 | 是谁挡的 |
| 5xx | 服务端自己认错 | 进程与防护 |
| 无状态码 | 连话都没说上,或本机就被拦住 | 连接与链路 |
2xx 只说明应答了,不说明内容对
拿到 200,先看两样:返回的内容是不是你要的,耗时是不是正常。两样都过,才算真正常。
内容不对:常见是缓存给了一份旧的,或者请求打到了错的站点。这两种最容易和「正常」混过去。
清一次缓存再查,能分开这两种。缓存给的是旧的,清完就变。
耗时不对:200 加很长的首字节,说明后端在慢慢处理,这时候看状态码没问题,问题在时间上。
3xx 出现在登录之后,多半是会话问题
第一次访问跳到登录页,是正常的。
登录完还跳回登录页,那是会话没保住。
查三样:请求里有没有带上 cookie、跳转目标是不是同一个域名、有没有多跳一次。三样都在,还跳,才怀疑服务端会话。
跳到最后落到别的域名,先记下那个域名和跳转次数。
4xx 是请求被挡住,先看是谁挡的
403 和 404 要分开,改法不一样。
404 是那个路径不存在;403 是路径在,但不给你看。
403 常见三种:目录权限、防护规则、来源限制。
要分清是规则还是单点,用宝塔拨测的网站测速从多个地区各查一次,各地都 403 就是规则挡的;只有某地 403,先看那一侧的来源。
429 是请求太频繁,先降频率再查。这类是主动限速,不是故障。
401 是没带凭证,先看是不是登录态丢了。它和 403 挨着,但改法完全不同,别一起处理。
5xx 是服务端自己认错,先看进程与防护
500 多半是程序报错,看错误日志最直接,日志是第一手。
502 和 504 是中间那一层没等到后端:一个说后端回了坏响应,一个说后端没回。
两个都要看后端起没起、有没有被防护拦掉,这两样是主要方向。
所有地区都 5xx,别再查网络。也别急着重启,先看日志里第一条报错是什么。
只有单点 5xx,那多半是那一侧的网关或者防护,跟程序没关系。
反过来,有人看到 502 就去换 DNS,换完还是 502,一天就过去了。状态码已经把方向指出来了,换 DNS 改的是解析,跟应用层不在一处。