792 字
4 分钟
HTTP 状态码与网络故障如何区分排查
  1. 1计算机网络学习路线与文章导读
  2. 2网络分层模型与数据封装是怎么回事
  3. 3TCP/IP 四层模型与 OSI 七层模型
  4. 4IP 地址与 CIDR 子网怎么理解
  5. 5ARP 是什么?主机如何找到目标 MAC 地址
  6. 6IP 路由与默认网关是如何工作的
  7. 7TCP 和 UDP 有什么区别?如何选择
  8. 8TCP 握手、挥手和丢包重传分别解决什么问题
  9. 9TCP 三次握手与四次挥手
  10. 10TCP 流量控制和拥塞控制有什么区别
  11. 11TCP 为什么可靠:流量控制、拥塞控制与局限性
  12. 12TCP 丢包、粘包和拆包是什么
  13. 13HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
  14. 14HTTP 请求包含哪些内容
  15. 15HTTP 中 GET 和 POST 有什么区别
  16. 16HTTP 方法的安全性与幂等性怎么区分
  17. 17HTTP 状态码与网络故障如何区分排查本文
  18. 18常见 HTTP 状态码与网站故障排查
  19. 19HTTP 和 HTTPS 有什么区别
  20. 20谈谈对 DNS 和 CDN 的理解
  21. 21从输入网址到网页显示发生了什么
  22. 22TCP 的 TIME_WAIT 状态有什么作用
  23. 23TCP 的 CLOSE_WAIT 状态是什么,过多如何排查
  24. 24TLS 1.3 握手过程是什么
  25. 25HTTPS 如何校验证书
  26. 26HTTP 强缓存和协商缓存怎么工作
  27. 27HTTP Keep-Alive 是什么,连接如何复用
  28. 28WebSocket 和 HTTP 有什么区别
  29. 29服务端如何解析 HTTP 请求的数据
  30. 30NAT 是什么?端口映射如何实现
  31. 31ICMP、ping 和 traceroute 分别做什么
  32. 32网络故障如何分层排查
  33. 33Cookie、Session、Token 与 JWT 有什么区别
  34. 34常见的登录鉴权方式有哪些
  35. 35什么是 SYN Flood 攻击

HTTP 状态码描述服务器对一次 HTTP 请求的处理结果。常见类别是 1xx 信息响应、2xx 成功、3xx 重定向、4xx 请求或客户端侧问题、5xx 服务端处理失败。状态码只说明 HTTP 这一层的响应,不能单独解释 DNS、TCP 或 TLS 阶段发生了什么;代理和 CDN 也可能生成状态码,因此要识别响应来自哪一跳。

重点区分几个常见码:401 Unauthorized 表示请求缺少有效认证凭据或凭据无效,按 HTTP 语义通常应提供 WWW-Authenticate 挑战;403 Forbidden 表示服务器理解请求但拒绝执行,常见是身份已识别但权限不足,也可能按站点策略拒绝。401 不简单等于“用户密码错”,403 也不总是“已经登录”。502 Bad Gateway 表示网关或代理从上游得到无效响应;504 Gateway Timeout 表示网关等待上游响应超时。两者提示检查代理到上游的连接、上游健康、超时和响应格式,不应只看浏览器。

排查时按实际链路分层留证据:先用 DNS 工具检查域名是否解析及解析到哪些地址;再检查目标 IP 路由和服务端口的 TCP 建连;随后观察 TLS 握手与证书;最后用 HTTP 客户端查看状态码、响应头、响应体和耗时。若 TCP 已连接但 TLS 失败,排查证书、域名、协议配置;若获得 502/504,则追查 CDN、负载均衡、反向代理和应用上游日志,并用时间戳或请求 ID 对齐。

ping 常使用 ICMP Echo,只能测试目标是否回应这种探测及其往返时间。主机或防火墙可能禁止 ICMP,所以 ping 失败不代表 DNS 解析失败、TCP 端口不通或 HTTP 网站不可用;域名解析成功也不保证网站进程正常。DNS 与 ICMP 是不同协议和环节,应分别检查。排障记录应保留目标、时间、解析结果、端口、错误文本和请求链路,不要泄露认证头或 Token。

常见追问#

401 和 403 应该怎么区分?#

401 表示请求未提供可接受的认证凭据,客户端可能需要认证;403 表示服务器拒绝当前请求。实际应用可自定义错误文案,但协议含义应保持清楚。

502 和 504 的主要区别是什么?#

502 是网关从上游得到无效响应或不能有效完成交互;504 是网关等待上游超时。都应检查代理与上游之间的链路和日志。

域名能解析但 ping 不通,是 DNS 故障吗?#

不是。解析结果说明 DNS 查询有响应;ping 使用 ICMP,可能被目标或中间网络过滤。应使用 TCP 端口探测和真实 HTTP/TLS 请求继续验证。

收到 HTTP 200 就代表业务成功吗?#

不一定。业务可能在响应体中返回失败码,或代理返回了兜底页面。应结合响应来源、状态码、响应体和应用日志判断。

HTTP 状态码与网络故障如何区分排查
https://blog.xqcherry.top/posts/interview/network/http-status-codes-and-network-diagnostics/
作者
xqcherry
发布于
2026-10-12
许可协议
CC BY-NC-SA 4.0