Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 4.48 KB

http.md

File metadata and controls

65 lines (51 loc) · 4.48 KB

HTTP状态码和请求方式

HTTP状态码提供了关于请求结果的重要信息。以下是一些常见HTTP状态码及其使用场景和请求方式的详细说明:

1xx - 信息性状态码

  • 100 Continue:表明到目前为止所有都是正常的,客户端应该继续其请求。通常用于发送大文件时,客户端在发送完请求头后会等待此状态码,以确认服务器准备好接收请求体。

2xx - 成功状态码

  • 200 OK:请求已成功,且请求的网页已返回。
  • 201 Created:请求成功,并且服务器创建了新的资源。通常用于POST请求后,资源被成功创建。
  • 202 Accepted:服务器已接受请求,但尚未处理。这表示异步操作已经开始,但尚未完成。
  • 204 No Content:服务器成功处理了请求,但没有返回任何内容。这通常用于DELETE请求。

3xx - 重定向状态码

  • 301 Moved Permanently:请求的网页已永久移动到新位置。服务器返回此响应时,会提供新的URL。
  • 302 Found:请求的网页临时移动到另一个URL。与301不同,302表示资源的移动是临时的。
  • 303 See Other:服务器指示请求应该使用GET方法重定向到另一个URL。
  • 304 Not Modified:自从上次请求后,请求的网页未修改过。这是缓存相关的响应,用于减少不必要的数据传输。

4xx - 客户端错误状态码

  • 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:用户发送了太多的请求,超出了服务器的处理能力。

5xx - 服务器错误状态码

  • 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,同时也能更准确地处理客户端和服务器之间的交互。