HTTP协议中2XX、3XX、4XX和5XX状态码的详细介绍,以及一些常见的例子。
2XX 成功
200 OK
- 描述:请求成功。服务器已成功处理了请求,并且提供了请求的资源。
- 例子:用户请求一个网页,服务器成功返回该网页的内容。
201 Created
- 描述:请求已成功,并创建了新的资源。通常在POST请求后返回。
- 例子:用户通过表单提交数据,服务器创建了一个新的资源(如用户账户或文章)。
202 Accepted
- 描述:请求已被接受处理,但处理尚未完成。实际处理可能异步进行。
- 例子:用户提交了一个作业,服务器接受了作业但尚未处理完成。
204 No Content
- 描述:请求成功,但没有返回任何内容。
- 例子:用户发送一个DELETE请求删除资源,服务器成功删除后不返回任何内容。
205 Reset Content
- 描述:请求成功,客户端应重置文档视图。
- 例子:用户提交表单后,服务器返回205状态码,指示客户端清除表单内容。
3XX 重定向
301 Moved Permanently
- 描述:资源被永久移动到新的URI。
- 例子:网站更新了域名,旧域名访问时返回301,指向新域名。
302 Found
- 描述:资源临时移动到新的URI。
- 例子:网站进行维护,临时将用户重定向到一个维护页面。
303 See Other
- 描述:指示客户端通过GET方法访问另一个URI。
- 例子:POST请求后,服务器返回303状态码,指示客户端通过GET请求查看结果。
304 Not Modified
- 描述:资源未修改,可以使用缓存版本。
- 例子:浏览器发送带有If-Modified-Since头的请求,服务器资源未更新,返回304。
307 Temporary Redirect
- 描述:资源临时移动,重定向请求应保持原始方法。
- 例子:服务器返回307,指示客户端使用相同的方法访问新的URI。
4XX 客户端错误
400 Bad Request
- 描述:请求格式错误,服务器无法理解。
- 例子:用户发送了一个格式不正确的请求,如缺少必要的参数。
401 Unauthorized
- 描述:请求需要用户认证。
- 例子:用户尝试访问受保护的资源,但未提供有效的认证信息。
403 Forbidden
- 描述:服务器理解请求,但拒绝执行。
- 例子:用户尝试访问他没有权限的文件或目录。
404 Not Found
- 描述:请求的资源不存在。
- 例子:用户请求一个不存在的网页,服务器返回404。
405 Method Not Allowed
- 描述:请求的方法不被允许。
- 例子:用户对只读资源发送了POST请求。
406 Not Acceptable
- 描述:服务器无法提供满足请求头中的条件的内容。
- 例子:用户请求特定格式的资源,但服务器无法提供。
408 Request Timeout
- 描述:服务器等待请求超时。
- 例子:用户发起请求后,由于网络问题,服务器在指定时间内未收到完整请求。
5XX 服务器错误
500 Internal Server Error
- 描述:服务器内部错误,无法完成请求。
- 例子:服务器代码中有bug,导致处理请求时发生异常。
501 Not Implemented
- 描述:服务器不支持请求的功能。
- 例子:服务器未实现客户端请求的某个HTTP方法。
502 Bad Gateway
- 描述:服务器作为网关或代理,从上游服务器收到无效响应。
- 例子:代理服务器请求后端服务器时,后端服务器返回了错误。
503 Service Unavailable
- 描述:服务器暂时不可用,通常是因为过载或维护。
- 例子:网站进行计划性维护,所有请求返回503。
504 Gateway Timeout
- 描述:服务器作为网关或代理,没有及时从上游服务器收到响应。
- 例子:代理服务器等待后端服务器的响应超时。
505 HTTP Version Not Supported
- 描述:服务器不支持请求的HTTP协议版本。
- 例子:客户端使用HTTP/2发起请求,但服务器只支持HTTP/1.1。