HTTP 状态码(HTTP Status Code)状态码是服务器用来告诉客户端“请求处理得怎么样了”的一种标准方式。它们是由三位数字组成,配合一段简短的文本描述(Reason Phrase)来表达具体含义。

一、分类概览
我们可以通过下表快速建立认知框架:
核心原则(错误归属原则):在排查问题时,如果看到 4xx,通常意味着问题出在客户端(请求语法、参数、权限);如果看到 5xx,则铁定是服务端(服务器、数据库、代码逻辑)出了故障。
二、状态码分类详解
以下状态码由 RFC 2616定义。你可以在RFC 7231中找到更新后的规范。
1️⃣ section 10 of RFC 2616链接:
2️⃣ section-6 of RFC 7231链接:
2.1 信息响应 (1xx)2.2 成功响应 (2xx)2.3 重定向消息 (3xx)2.4 客户端错误响应 (4xx)2.5 服务器错误响应 (5xx)三、重点辨析
整理了一个对比表格,区分几个容易混淆的状态码:
状态码对比
区别说明
301 vs 302
301 是永久搬家
,以后都去新地址;302 是临时出门,以后还得回老地址。
401 vs 403
401 是没带钥匙
(未认证),带了钥匙可能就能进;403 是带了钥匙但没权限(认证了但被拒绝)。
404 vs 410
404 是找不到
(可能是拼写错误也可能是没了);410 是明确告诉你已删除(Gone),搜索引擎会更快地将其从索引中移除。
200 vs 204
200 有数据
返回在正文中;204 只有响应头,正文为空。
四、实战排错指南
当你遇到一个网页打不开,或者 App 报错时,如何利用状态码快速定位问题?

1. 看首位数字定大方向
2. 开发者工具 (DevTools)
在浏览器中按F12,打开 Network(网络)标签页:
3. 常用调试命令
你可以使用curl命令行工具来测试状态码:
五、总结
HTTP 状态码是互联网通信的基石语言。掌握它们,你就拥有了与服务器“对话”的能力。




