HTTP 常见状态码总结(应用层)
约 721 字大约 2 分钟
HTTP 状态码
HTTP 状态码用于表示 HTTP 请求的处理结果,它们通常由三位数字组成,分为不同的类别。以下是常见的 HTTP 状态码分类及其含义:
1xx Informational(信息性状态码)
此类状态码通常表示请求已接收,服务器正在处理。它们很少出现在实际开发中,通常不需要关注。
2xx Success(成功状态码)
- 200 OK:请求被成功处理。最常见的状态码,表示请求已成功处理且返回了所请求的数据。
- 201 Created:请求成功并且服务器创建了一个新资源。例如,通过 POST 请求创建了一个新用户。
- 202 Accepted:服务器已接受请求,但尚未处理完成。通常用于需要时间处理的请求,如异步任务。
- 204 No Content:请求已成功处理,但没有返回任何内容。适用于删除操作或更新操作,客户端不需要返回任何数据。
特别说明: 204
状态码表示请求处理成功,但不需要更新或显示的内容。
3xx Redirection(重定向状态码)
- 301 Moved Permanently:请求的资源已被永久移动到新的 URL。搜索引擎会更新索引。
- 302 Found:请求的资源临时重定向到另一个位置。浏览器会继续使用原始 URL。
4xx Client Error(客户端错误状态码)
- 400 Bad Request:请求格式有误,通常由于客户端传递了无效的参数或不符合协议的请求。
- 401 Unauthorized:请求未通过认证,需要提供认证凭证(如 Token 或 Cookie)。
- 403 Forbidden:请求被拒绝,服务器理解请求但不允许处理,通常与权限相关。
- 404 Not Found:请求的资源不存在。例如,用户请求了一个不存在的页面。
- 409 Conflict:请求资源与服务器当前状态冲突,通常发生在并发操作时。
5xx Server Error(服务端错误状态码)
- 500 Internal Server Error:服务器内部错误,通常是服务器端代码或配置错误导致的。
- 502 Bad Gateway:服务器作为网关或代理时,从上游服务器接收到无效响应。
- 503 Service Unavailable:服务器暂时无法处理请求,通常是由于临时过载或维护。
- 504 Gateway Timeout:作为网关或代理的服务器在等待上游服务器的响应时超时。
小结
- 2xx 系列 表示请求成功处理。
- 3xx 系列 表示请求的资源被重定向。
- 4xx 系列 表示客户端请求错误。
- 5xx 系列 表示服务器端错误。
这些状态码为开发者和客户端提供了清晰的反馈,帮助定位请求的结果或问题所在。