HTTP状态码查询对照表

HTTP状态码(HTTP Status Code)是服务器对客户端请求的响应状态标识,由3位数字组成,分为五大类:

1. 1xx(信息类):临时响应,服务器已接收请求,正在处理(极少使用)

2. 2xx(成功类):请求已成功接收、处理并返回

3. 3xx(重定向类):需要客户端进一步操作(如跳转至新地址)

4. 4xx(客户端错误):客户端请求有错误(如资源不存在、权限不足)

5. 5xx(服务器错误):服务器处理请求时发生错误

核心规则:状态码的第一位数字代表类别,后两位仅用于细分状态(无统一含义)。

一、1xx(信息类)- 临时响应

状态码 状态名称 说明 常见场景
100 Continue(继续) 服务器已接收请求头,客户端可继续发送请求体 大文件上传、POST请求分阶段发送
101 Switching Protocols(切换协议) 服务器同意客户端的协议切换请求(如HTTP→WebSocket) WebSocket连接建立、实时通信场景
102 Processing(处理中) 服务器正在处理请求,尚未返回结果(WebDAV专用) 大型WebDAV操作(如文件批量处理)

二、2xx(成功类)- 请求处理成功

状态码 状态名称 说明 常见场景
200 OK(成功) 请求已成功处理,返回请求的资源/数据 GET请求获取资源、POST请求返回处理结果
201 Created(已创建) 请求成功并创建了新的资源(如新增数据) POST请求创建用户、新增订单、上传文件
202 Accepted(已接受) 服务器已接收请求,但尚未处理完成 异步任务处理(如邮件发送、数据批量导入)
204 No Content(无内容) 请求成功处理,但返回的响应体为空 DELETE请求删除资源、PUT请求更新资源(无需返回数据)
206 Partial Content(部分内容) 服务器仅返回请求资源的部分内容 视频/音频分片播放、大文件断点续传

三、3xx(重定向类)- 需要客户端跳转

状态码 状态名称 说明 常见场景
301 Moved Permanently(永久重定向) 请求的资源已永久移动到新地址,浏览器会缓存该重定向 网站域名更换、页面永久迁移
302 Found(临时重定向) 请求的资源临时移动到新地址,浏览器不会缓存 用户登录后跳转、临时页面维护
304 Not Modified(未修改) 客户端缓存的资源未过期,无需重新下载 静态资源(CSS/JS/图片)的缓存优化
307 Temporary Redirect(临时重定向) 与302类似,但严格保留原请求方法(如POST) 需要保留请求方法的临时跳转(如表单提交后跳转)
308 Permanent Redirect(永久重定向) 与301类似,但严格保留原请求方法(如POST) 需要保留请求方法的永久跳转

四、4xx(客户端错误)- 请求存在问题

状态码 状态名称 说明 常见场景
400 Bad Request(错误请求) 服务器无法理解客户端的请求(请求参数/格式错误) 参数缺失、JSON格式错误、请求头不合法
401 Unauthorized(未授权) 请求需要用户身份验证(未登录或token失效) 访问需要登录的接口、token过期/无效
403 Forbidden(禁止访问) 客户端已认证,但无权限访问该资源 普通用户访问管理员接口、访问受保护的文件
404 Not Found(未找到) 请求的资源在服务器上不存在 访问不存在的页面、接口路径错误
405 Method Not Allowed(方法不允许) 客户端使用的请求方法(如POST)不被该资源支持 GET接口使用POST请求、DELETE接口使用PUT请求
408 Request Timeout(请求超时) 客户端请求耗时过长,服务器终止处理 网络卡顿、客户端请求发送过慢
409 Conflict(冲突) 请求与服务器当前资源状态冲突 创建重复的用户(用户名已存在)、并发更新数据
413 Payload Too Large(请求体过大) 客户端发送的请求体超过服务器限制 上传文件大小超过服务器配置、POST数据量过大
429 Too Many Requests(请求过于频繁) 客户端在短时间内发送了过多请求 接口限流、防爬虫机制触发

五、5xx(服务器错误)- 服务器处理失败

状态码 状态名称 说明 常见场景
500 Internal Server Error(内部服务器错误) 服务器处理请求时发生未知错误 代码BUG、数据库连接失败、服务器配置错误
502 Bad Gateway(网关错误) 服务器作为网关/代理,收到上游服务器的无效响应 Nginx反向代理时后端服务宕机、接口超时
503 Service Unavailable(服务不可用) 服务器暂时无法处理请求(如维护、过载) 服务器重启、流量峰值过载、服务维护
504 Gateway Timeout(网关超时) 服务器作为网关/代理,等待上游服务器响应超时 后端接口响应过慢、数据库查询耗时过长
505 HTTP Version Not Supported(HTTP版本不支持) 服务器不支持客户端使用的HTTP协议版本 客户端使用HTTP/2.0但服务器仅支持HTTP/1.1

关键说明

1. 301与302的区别:301是永久重定向(浏览器缓存跳转记录),302是临时重定向(不缓存),SEO优化中301更友好。

2. 304的实现:依赖请求头的If-Modified-Since(时间)或If-None-Match(ETag),服务器对比后返回304。

3. 401与403的区别:401是未认证(需要登录),403是已认证但无权限(拒绝访问)。

4. 502与504的区别:502是上游服务器返回无效响应(如宕机),504是上游服务器响应超时。

5. 状态码自定义:部分服务会使用非标准状态码(如499表示客户端中断请求),仅在特定场景下生效。