HTTP常见的状态码

HTTP常见的状态码
最新回答
梅之傲然立

2020-05-10 23:48:55

HTTP常见的状态码

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。这些状态码由RFC 2616(已废弃),RFC 7231(部分),RFC 6585(部分),RFC 7540(部分)等规范定义,以简单明了的方式表示资源的状态或服务器的响应。以下是HTTP中一些常见的状态码及其解释:

  • 100 Continue

    解释:一般在发送POST请求时,已发送了HTTP header之后服务端将返回此信息,表示确认,之后发送具体参数信息。这个状态码是临时的响应,用来通知客户端它的部分请求已经被服务器接收,且未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。

  • 200 OK

    解释:正常返回信息。表示请求已成功,请求所希望的响应头或数据体将随此响应返回。

  • 201 Created

    解释:请求成功并且服务器创建了新的资源。这个状态码表示请求已经被成功处理,并且在服务器上创建了一个新的资源。这个新资源的URI通常会在响应的Location头部字段中返回。

  • 202 Accepted

    解释:服务器已接受请求,但尚未处理。这个状态码表示请求已经被服务器接收,但尚未处理。它通常用于那些需要时间来完成处理的请求,如长时间运行的任务。

  • 301 Moved Permanently

    解释:请求的网页已永久移动到新位置。这个状态码表示请求的资源已经被永久移动到Location头部字段中指定的URI上。客户端应当使用GET方法请求新的URI。

  • 302 Found

    解释:临时性重定向。这个状态码表示请求的资源临时从不同的URI响应请求。客户端应当使用GET方法请求Location头部字段中指定的URI。注意,虽然原始规范中302状态码被定义为临时重定向,但在实际应用中,它经常被错误地用作永久重定向。因此,引入了303和307状态码来更明确地表示重定向的意图。

  • 303 See Other

    解释:临时性重定向,且总是使用GET请求新的URI。这个状态码表示请求的资源已经被临时移动到Location头部字段中指定的URI上,并且客户端应当使用GET方法请求新的URI。与302不同,303明确指示客户端不应使用POST方法请求新的URI。

  • 304 Not Modified

    解释:自从上次请求后,请求的网页未修改过。这个状态码表示客户端发送的带有If-Modified-Since或If-None-Match头的请求,且资源自上次请求后未被修改。因此,客户端可以继续使用其缓存的副本。

  • 400 Bad Request

    解释:服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。这个状态码表示服务器无法理解请求的格式,可能是因为请求的格式错误或请求中包含了无法识别的参数。

  • 401 Unauthorized

    解释:请求未授权。这个状态码表示请求需要用户认证。如果之前未发送过认证信息,服务器可能会返回包含WWW-Authenticate头的响应,以提示客户端如何进行认证。

  • 403 Forbidden

    解释:禁止访问。这个状态码表示服务器理解请求但拒绝执行它。这通常是由于服务器上的某些策略或权限设置导致的。

  • 404 Not Found

    解释:找不到如何与URI相匹配的资源。这个状态码表示服务器无法根据请求的URI找到对应的资源。

  • 500 Internal Server Error

    解释:最常见的服务器端错误。这个状态码表示服务器遇到了一个意料之外的情况,导致它无法完成对请求的处理。

  • 503 Service Unavailable

    解释:服务器端暂时无法处理请求(可能是过载或维护)。这个状态码表示服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。