1xx(信息性状态码)
表示服务器已接收请求,正在进一步处理,需要客户端继续等待或配合。
-
100 Continue
服务器已接收请求头,客户端可继续发送请求体(通常用于 POST/PUT 等带大量数据的请求,避免浪费带宽)。 -
101 Switching Protocols
服务器同意客户端的协议转换请求(如从 HTTP 切换到 WebSocket)。
2xx(成功状态码)
表示请求被服务器成功接收、理解并处理。
-
200 OK
请求成功,响应体包含请求的资源(最常见的成功状态码,如 GET 请求返回数据)。 -
201 Created
请求成功且服务器创建了新资源(如 POST 提交表单后创建新用户,响应头Location通常指向新资源的 URL)。 -
204 No Content
请求成功,但响应体无内容(如 DELETE 请求删除资源后,无需返回数据)。 -
206 Partial Content
部分请求成功(用于断点续传或分片下载,客户端通过Range头指定获取的字节范围)。
3xx(重定向状态码)
表示请求需要客户端进一步操作才能完成(通常是跳转至其他 URL)。
-
301 Moved Permanently
资源已永久迁移到新 URL,客户端应更新书签或后续请求使用新 URL(浏览器会缓存该跳转)。 -
302 Found
资源临时迁移到新 URL,客户端应继续使用原 URL 发起后续请求(临时跳转,如登录后跳回原页面)。
注:HTTP 1.1 中 303/307 更明确区分了 POST 跳转行为,302 可能被部分浏览器不当处理。 -
303 See Other
请求成功,客户端应使用 GET 方法访问新 URL(常用于 POST 提交后跳转到结果页,避免重复提交)。 -
304 Not Modified
资源未修改(客户端缓存的版本与服务器一致),客户端可直接使用本地缓存(配合If-Modified-Since或If-None-Match头使用,用于优化性能)。 -
307 Temporary Redirect
临时重定向,严格保留原请求方法(如原请求是 POST,跳转后仍用 POST,而 302 可能被浏览器转为 GET)。 -
308 Permanent Redirect
永久重定向,严格保留原请求方法(301 的“方法不变”版本)。
4xx(客户端错误状态码)
表示请求存在错误(如格式错误、权限不足等),服务器无法处理。
-
400 Bad Request
请求格式错误(如 JSON 语法错误、参数缺失,服务器无法理解)。 -
401 Unauthorized
请求需要身份验证(如未登录时访问需登录的页面,响应头WWW-Authenticate会提示认证方式)。 -
403 Forbidden
客户端已认证,但无权限访问资源(如普通用户尝试访问管理员页面)。 -
404 Not Found
请求的资源不存在(最常见的错误码,如 URL 拼写错误)。 -
405 Method Not Allowed
请求使用的 HTTP 方法(如 POST)不被服务器允许(响应头Allow会列出支持的方法,如GET, HEAD)。 -
406 Not Acceptable
服务器无法返回客户端通过Accept头指定的格式(如客户端只接受 JSON,但服务器只能返回 XML)。 -
408 Request Timeout
服务器等待请求超时(客户端未在规定时间内发送完整请求)。 -
409 Conflict
请求与服务器当前状态冲突(如提交重复的订单号)。 -
413 Payload Too Large
请求体过大,服务器拒绝处理(如上传文件超过服务器限制)。 -
414 URI Too Long
请求的 URL 过长,服务器无法处理(通常由 GET 请求参数过多导致)。 -
429 Too Many Requests
客户端发送请求过于频繁,超出服务器的限流策略(配合Retry-After头提示重试时间)。
5xx(服务器错误状态码)
表示服务器接收请求后,因自身错误无法处理。
-
500 Internal Server Error
服务器内部错误(最常见的服务器错误,如代码 Bug、数据库连接失败)。 -
501 Not Implemented
服务器不支持请求的功能(如客户端使用了服务器未实现的 HTTP 方法)。 -
502 Bad Gateway
服务器作为网关/代理时,收到上游服务器的无效响应(如反向代理后端服务崩溃)。 -
503 Service Unavailable
服务器暂时无法处理请求(如服务器维护、过载,响应头Retry-After可提示恢复时间)。 -
504 Gateway Timeout
服务器作为网关/代理时,等待上游服务器响应超时。 -
505 HTTP Version Not Supported
服务器不支持客户端使用的 HTTP 版本(如客户端用 HTTP/2.0,但服务器只支持 HTTP/1.1)。
常用状态码表
| 分类 | 状态码 | 含义 |
|---|---|---|
| 成功 | 200、201、204 | 请求处理完成 |
| 重定向 | 301、302、304 | 需要跳转或使用缓存 |
| 客户端错误 | 400、401、403、404、429 | 请求有问题,需客户端修正 |
| 服务器错误 | 500、502、503 | 服务器故障,需服务端修复 |
- 前端可通过状态码快速判断请求结果(如 2xx 执行成功逻辑,401 跳转登录页,404 显示“资源不存在”)。
- 后端应根据具体业务场景返回精准的状态码(如创建资源用 201 而非 200,限流用 429 而非 500)。
- 调试时,浏览器 DevTools 的 Network 面板可查看状态码,辅助定位问题(如 500 需查服务端日志,404 需检查 URL 是否正确)。

1103

被折叠的 条评论
为什么被折叠?



