HTTP状态码提供了关于请求结果的重要信息。以下是一些常见HTTP状态码及其使用场景和请求方式的详细说明:
- 100 Continue:表明到目前为止所有都是正常的,客户端应该继续其请求。通常用于发送大文件时,客户端在发送完请求头后会等待此状态码,以确认服务器准备好接收请求体。
- 200 OK:请求已成功,且请求的网页已返回。
- 201 Created:请求成功,并且服务器创建了新的资源。通常用于POST请求后,资源被成功创建。
- 202 Accepted:服务器已接受请求,但尚未处理。这表示异步操作已经开始,但尚未完成。
- 204 No Content:服务器成功处理了请求,但没有返回任何内容。这通常用于DELETE请求。
- 301 Moved Permanently:请求的网页已永久移动到新位置。服务器返回此响应时,会提供新的URL。
- 302 Found:请求的网页临时移动到另一个URL。与301不同,302表示资源的移动是临时的。
- 303 See Other:服务器指示请求应该使用GET方法重定向到另一个URL。
- 304 Not Modified:自从上次请求后,请求的网页未修改过。这是缓存相关的响应,用于减少不必要的数据传输。
- 400 Bad Request:请求有语法错误或请求无法处理。
- 401 Unauthorized:请求需要用户的身份验证。通常需要提供认证信息,如用户名和密码。
- 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。这表示访问被禁止。
- 404 Not Found:服务器找不到请求的网页。
- 405 Method Not Allowed:请求行中指定的请求方法不能被用于请求网页。
- 406 Not Acceptable:服务器无法根据客户端请求的内容特性完成请求。
- 407 Proxy Authentication Required:类似于401,但是请求必须通过代理服务器进行认证。
- 408 Request Timeout:请求超时,客户端没有在服务器准备等待的时间内完成请求。
- 409 Conflict:服务器在尝试处理请求时遇到了冲突。
- 410 Gone:请求的资源不再可用,且没有任何重定向地址。
- 411 Length Required:服务器拒绝在没有定义Content-Length头的情况下处理请求。
- 412 Precondition Failed:请求头中设置的条件失败。
- 413 Payload Too Large:请求体过大,超出了服务器愿意或能够处理的范围。
- 414 URI Too Long:请求的URI过长。
- 415 Unsupported Media Type:请求的媒体类型不被服务器支持。
- 416 Range Not Satisfiable:请求的范围无法满足。
- 417 Expectation Failed:服务器无法满足请求头Expect中指定的期望值。
- 422 Unprocessable Entity:请求格式正确,但服务器无法理解请求体中的语义错误。
- 429 Too Many Requests:用户发送了太多的请求,超出了服务器的处理能力。
- 500 Internal Server Error:服务器遇到了一个未曾预料的状况,无法完成对请求的处理。
- 501 Not Implemented:服务器不支持请求的功能,无法完成请求。
- 502 Bad Gateway:服务器作为网关或代理,收到了一个无效的响应。
- 503 Service Unavailable:服务器目前无法使用,可能是由于超载或停机维护。
- 504 Gateway Timeout:服务器作为网关或代理,但是没有及时从上游服务器接收请求。
- 505 HTTP Version Not Supported:服务器不支持请求中使用的HTTP协议版本。
- 511 Network Authentication Required:表明客户端需要进行网络认证。
- GET:请求指定的资源。请求可以被缓存,且只有幀定的URL参数。
- POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。
- PUT:请求将指定资源更新为请求体中给出的表示。
- DELETE:请求删除指定的资源。
- HEAD:与GET方法相同,但是不返回请求体,只返回头部。
- PATCH:对资源进行部分修改。
- OPTIONS:返回服务器支持的通信选项。
了解这些状态码和请求方式可以帮助开发者更好地设计和实现HTTP API,同时也能更准确地处理客户端和服务器之间的交互。