HTTP Code

1xx - 信息性状态码(临时响应)

表示请求已收到,正在继续处理。平时在浏览器中很少见到。

  • 100 Continue:客户端应继续发送请求的剩余部分。通常用于 POST 或 PUT 大量数据前,先询问服务器是否愿意接收。
  • 101 Switching Protocols:客户端要求切换协议(如切换到 WebSocket),服务器已同意。

2xx - 成功状态码(请求成功)

表示请求已被服务器成功接收、理解并处理。

  • 200 OK最常用的成功状态码。表示请求成功,返回的响应体包含了所请求的数据(如 HTML 页面、JSON 数据等)。
  • 201 Created创建成功。通常在 POST 或 PUT 请求后,表示成功在服务器上创建了一个新资源。响应头 Location 字段通常会包含新资源的 URL。
  • 202 Accepted:请求已接受,但尚未处理完成。适用于异步任务,比如“请求已进入队列,正在处理中”。
  • 204 No Content请求成功,但响应报文中没有实体的主体部分。常用于 DELETE 请求成功,或前端只需知道操作成功而无需返回数据的 AJAX 请求。

3xx - 重定向状态码(需要进一步操作)

表示客户端需要执行额外的操作来完成请求,通常是重定向。

  • 301 Moved Permanently永久重定向。请求的资源已被永久移动到新的 URL。搜索引擎会更新其链接到新的地址。浏览器会缓存这个重定向
  • 302 Found临时重定向。请求的资源临时从另一个 URL 响应。搜索引擎不会更新链接。这是最常见的重定向类型,但规范要求方法不变(实际上浏览器常会改为 GET)。
  • 304 Not Modified资源未修改。用于缓存控制。当客户端拥有缓存的版本,并通过请求头(如 If-Modified-Since)询问资源是否更新时,如果资源未变,服务器会返回此状态码,告诉客户端直接使用缓存。这节省了带宽
  • 307 Temporary Redirect临时重定向(严格)。与 302 类似,但严格要求客户端不能改变原始的请求方法(例如,POST 必须仍是 POST)。比 302 更规范。

4xx - 客户端错误状态码(请求有误)

表示客户端可能出错,服务器无法处理请求。

  • 400 Bad Request错误的请求。服务器因为请求的语法无效而无法理解。就像一个语法错误的句子,服务器看不懂。
  • 401 Unauthorized未认证。表示请求需要用户认证。通常需要登录或提供 Token。注意,这个名字容易误解,它实际是“未认证”,而不是“未授权”。
  • 403 Forbidden禁止访问。服务器理解请求,但拒绝执行。与 401 不同,身份验证也无济于事(比如普通用户尝试访问管理员页面)。
  • 404 Not Found最著名的错误码。服务器找不到请求的资源。可能是 URL 错误,或资源已被删除。
  • 405 Method Not Allowed方法不被允许。请求行中指定的方法(GET, POST 等)不能用于请求此资源。例如,对只接受 GET 的 URL 发送了 POST 请求。
  • 408 Request Timeout请求超时。服务器等待客户端发送请求的时间过长。
  • 409 Conflict冲突。请求与服务器的当前状态冲突。常见于 PUT 请求(例如,修改文件时版本冲突)。
  • 429 Too Many Requests请求过多。客户端在给定的时间内发送了太多请求(限流)。

5xx - 服务器错误状态码(服务器处理请求出错)

表示服务器在处理请求时发生错误或内部故障。

  • 500 Internal Server Error最通用的服务器错误码。服务器遇到了一个未曾预料的状况,导致它无法完成对请求的处理。通常是后端代码抛出了未捕获的异常。
  • 502 Bad Gateway错误的网关。服务器作为网关或代理,从上游服务器收到了一个无效的响应。常见于 Nginx 后面的应用服务器(如 PHP-FPM)挂掉或未启动。
  • 503 Service Unavailable服务不可用。服务器当前无法处理请求(由于超载或进行停机维护)。通常,这是一个临时状态。响应头中可能包含 Retry-After 字段,告知客户端何时可以重试。
  • 504 Gateway Timeout网关超时。服务器作为网关或代理,未能及时从上游服务器收到响应。常见于网络延迟或上游服务器处理过慢。

快速记忆表格

状态码类别含义常见场景
200成功请求成功正常获取网页或数据
201成功创建成功创建新用户、新文章成功
204成功无内容删除成功,或前端AJAX请求无需返回数据
301重定向永久移动网站改版,旧链接永久跳转到新链接
302重定向临时移动登录后跳回首页
304重定向未修改使用浏览器缓存,节省流量
400客户端错误错误请求请求参数格式错误
401客户端错误未认证需要登录
403客户端错误禁止访问权限不足
404客户端错误未找到请求的URL不存在
429客户端错误请求过多API调用频率超限
500服务器错误内部服务器错误后端代码Bug,数据库连接失败
502服务器错误错误网关Nginx 无法连接到后端服务
503服务器错误服务不可用服务器维护或过载
504服务器错误网关超时后端服务响应太慢

希望这个列表对您有帮助!