一些常见的HTTP状态码

HTTP状态码是服务器和客户端之间交流信息的语言,下面列出一些常见的HTTP状态码。

1XX系列

  • 指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于在HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。

2XX系列

  • 代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。
  • 200状态码
    • 表示请求已成功,请求所希望的响应头或数据体将随此响应返回。
  • 201状态码
    • 表示请求成功并且服务器创建了新的资源,且其URI已经随Location头信息返回。假如需要的资源无法及时建立的话,应当返回【202 Accepted】。
  • 202状态码
    • 服务器已接受请求,但尚未处理。

3XX系列

  • 代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。这系列中最常见的有301、302状态码。
  • 301状态码
    • 被请求的资源已永久移动到新位置。服务器返回此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置。
  • 302状态码
    • 请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。
  • 304状态码
    • 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。 如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为If-Modified-Since HTTP标头)。

4XX系列

  • 表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见有:401、404状态码。

  • 401状态码

    • 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
  • 403状态码

    • 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。
  • 404状态码

    • 请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。

5xx系列

  • 代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见有500、503状态码。

  • 500状态码

    • 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
  • 503状态码

    • 由于临时的服务器维护或者过载,服务器当前无法处理请求。通常,这个是暂时状态,一段时间会恢复。
  • 504状态码

    • 504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。

转载自https://www.linuxidc.com/Linux/2019-11/161528.htm