1. 犀牛前端部落首页
  2. 前端工程化

常见HTTP状态码列表

前言

每个HTTP响应都带有一个状态码,明确的状态码包含了请求如何处理的信息。

常见HTTP状态码列表

HTTP状态代码是HTTP响应的第一行,它从服务器发送到客户端。

正文

如果你想知道状态码代表什么意思,那么这篇文章将会对你有很大帮助。

状态码通过3位数字表示,加上简短的描述。

数字的第一个数字表示响应类型

包含五个响应类型:

  • 1xx:信息响应——指示请求已被接收和理解。
  • 2xx:成功响应——指示客户请求的操作已被接收、理解和接受。
  • 3xx:重定向——指示客户端必须采取附加操作来完成请求。
  • 4xx:客户端错误——表明有一个错误,这似乎是由客户端造成的。
  • 5xx:服务器错误——指示服务器上发生了错误。

在文章的剩下部分,我列出了所有有用的状态码。

(俺删除了一些特定于技术的组件,如WebDAV组件和很少使用的组件)

信息响应

  • 100 Continue 服务器已接收到请求头,客户端应继续发送请求体(在需要发送请求体的情况下;例如,POST请求)。在请求因不适当的头而被拒绝后,将大型请求体发送到服务器将是低效的。要让服务器检查请求的头,客户端必须在其初始请求中发送Expect: 100- Continue作为头,并在发送主体之前接收响应中的100 Continue状态代码。如果客户端收到一个错误代码,比如403(禁止)或405(方法不允许),那么它就不应该发送请求体。响应417期望失败表明请求应该在不使用Expect头的情况下重复,因为它表明服务器不支持期望(例如,HTTP/1.0服务器就是这种情况)。
  • 101 Switching Protocols 客户端要求服务器切换协议,服务器已经同意这样做。RFC 7231#6.2.2

成功响应

  • 200 OK 这是成功的HTTP请求的标准响应。
  • 201 Created 通常是对POST请求的响应。请求已经完成,并且创建了一个新的资源。
  • 202 Accepted 该请求已被接受处理。没有提到实际的处理和结果,这可能发生在单独的服务器或批处理上。
  • 203 Non-Authoritative Information 原始服务器返回200,客户机和服务器之间的转换代理更改了负载。
  • 204 No Content 服务器成功地处理了请求,但不返回任何内容。
  • 205 Reset Content 服务器成功地处理了请求,但不返回任何内容。类似于204响应,但是服务器要求客户端重置文档视图(例如,用于清除表单)
  • 206 Partial Content 为了响应来自客户机的范围请求,服务器发送部分内容响应。RFC 7233#4.1

重定向

  • 301 Moved Permanently 这个请求和所有将来的请求都应该定向到给定的URI。仅用于GET/HEAD请求,308个永久重定向用于所有其他方法。
  • 302 Found 资源被临时移动到由Location头指定的URL。仅用于GET/HEAD请求,其他方法的临时重定向为307。
  • 303 See Other 在POST或PUT请求之后,指向Location头中的确认消息,可以使用新的GET请求进行访问。
  • 304 Not Modified 当客户端使用请求头If-Modified-Since或If-None-Match时,此响应状态代码表示资源没有被修改。
  • 307 Temporary Redirect 类似于302请求,只是它不允许更改HTTP方法。
  • 308 Permanent Redirect 类似于301请求,只是它不允许更改HTTP方法。

客户端错误

  • 400 Bad Request 由于在客户机上生成的请求错误,服务器无法处理请求。错误可能包括格式不正确的请求、无法处理的大小或其他。
  • 401 Unauthorized 当需要身份验证且客户端未经授权时发送。
  • 403 Forbidden 由于各种原因,该资源不可用。如果原因是身份验证,请选择401未授权状态代码。
  • 404 Not Found 找不到所请求的资源。
  • 405 Method Not Allowed 该资源不能通过该HTTP方法使用,但可能与另一个方法一起使用。
  • 406 Not Acceptable 客户端传递了一个包含与服务器不兼容的值的Accept标头。
  • 407 Proxy Authentication Required 在客户端和服务器之间有一个需要身份验证的代理。
  • 408 Request Timeout 服务器超时等待请求。
  • 409 Conflict 指示由于资源当前状态的冲突(例如多个同步更新之间的编辑冲突)而无法处理请求。
  • 410 Gone 该资源不再可用,并且将不再可用。例如,比404更强大的搜索引擎将其解释为从索引中删除该资源的指示。
  • 411 Length Required 客户端需要向请求添加一个内容长度的头,这是必需的。
  • 412 Precondition Failed 如果客户端发送一个if-unmodified-since或if-none-match请求头,并且服务器不能满足该条件,则返回。
  • 413 Payload Too Large 请求的大小超出了服务器愿意或能够处理的范围。
  • 414 URI Too Long 提供的URI太长,服务器无法处理。
  • 415 Unsupported Media Type 请求实体具有服务器或资源不支持的媒体类型。
  • 416 Range Not Satisfiable 客户端使用范围头请求文件的一部分,但服务器不能提供该部分。
  • 417 Expectation Failed 服务器无法满足Expect请求头的要求。
  • 421 Misdirected Request 请求被定向到无法产生响应的服务器(例如,由于连接重用)。
  • 426 Upgrade Required 客户端应该切换到不同的协议,比如在Upgrade头字段中指定的TLS/1.0。
  • 428 Precondition Required 服务器要求请求包含一个If-Match头。
  • 429 Too Many Requests 用户在给定的时间内发送了太多的请求。用于速率限制。
  • 431 Request Header Fields Too Large 由于一个或多个标头或整个标头集太大,无法满足请求。
  • 451 Unavailable For Legal Reasons 由于法律原因,资源不可用.

服务器错误

  • 500 Internal Server Error 一个通用的服务器错误消息,当遇到意外情况时给出,没有更具体的消息是合适的。
  • 501 Not Implemented 服务器要么不识别请求方法,要么缺乏满足请求的能力。
  • 502 Bad Gateway 服务器充当网关或代理,从上游服务器接收到无效响应。
  • 503 Service Unavailable 服务器当前暂时不可用(因为它超载或停机进行维护)。
  • 504 Gateway Timeout 服务器充当网关或代理,没有从上游服务器收到及时响应。
  • 505 HTTP Version Not Supported 服务器不支持请求中指定的HTTP协议版本。

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/3191.html

发表评论

登录后才能评论