@HTTP状态码

导读:本篇文章讲解 @HTTP状态码,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

HTTP 状态码的作用是服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态;状态码的第一位数字表示状态类型,第二、三位数字表示具体的情况

  • 1xx:表示消息响应
  • 2xx:表示成功
  • 3xx:表示重定向
  • 4xx:表示客户端错误
  • 5xx:表示服务端错误

1xx

表示请求已被接受,需要继续处理。这类响应是临时响应,只包含「状态行」和某些可选的响应「头信息」,并以空行结束

常见的有:

  • 100 (继续):这个为临时响应,表示迄今为止的所有内容都是可行的,客户端应该继续发送剩余请求,如果已经完成,则忽略它
  • 101 (切换协议):服务器根据客户端的请求切换协议,主要用于 websocket 或 http2 升级

2xx

表示请求已成功被服务器接收、理解、并接受

常见的有:

  • 200 (成功):请求已成功,请求所希望的响应头或数据体将随此响应返回
  • 201 (已创建):请求成功并且服务器创建了新的资源
  • 202 (已创建):服务器已经接收请求,但尚未处理
  • 203 (非授权信息):服务器已成功处理请求,但返回的信息可能来自另一来源
  • 204 (无内容):服务器成功处理请求,但没有返回任何内容。例如:删除请求或请求是通过表单发送的,响应不应导致刷新表单或加载新页面
  • 205 (重置内容):将文档重置为原始状态。例如,清除表单
  • 206 (部分内容):服务器成功处理了部分请求

3xx

表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向

常见的有:

  • 300 (多种选择):针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择
  • 301 (永久移动):请求的网页已永久移动到新位置。 服务器返回此响应 (对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置
  • 302 (临时移动):服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
  • 303 (查看其他位置):请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
  • 305 (使用代理):请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理
  • 307 (临时重定向):服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

 详解重定向(HTTP状态码301/302/303/307/308

4xx

表示客户端有错误,妨碍了服务器的处理

常见的有:

  • 400 (错误请求):服务器不理解请求的语法
  • 401 (未授权):请求要求身份验证。对于需要登录的网页,服务器可能返回此响应
  • 403 (禁止):服务器拒绝请求。
  • 404 (未找到):服务器找不到请求的网页
  • 405 (方法禁用):禁用请求中指定的方法
  • 406 (不接受):无法使用请求的内容特性响应请求的网页
  • 407 (需要代理授权):此状态代码与 401 (未授权)类似,但指定请求者应当授权使用代理
  • 408 (请求超时):服务器等候请求时发生超时
  • 409(冲突) :服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表。

  • 410(已删除):如果请求的资源已永久删除,服务器就会返回此响应。该代码与 404(未找到)代码类似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久移动,您应使用 301 指定资源的新位置。

  • 411(需要有效长度):服务器不接受不含有效内容长度标头字段的请求。

  • 412(未满足前提条件):服务器未满足请求者在请求中设置的其中一个前提条件。

  • 413(请求实体过大):服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

  • 414(请求的 URI 过长):请求的 URI(通常为网址)过长,服务器无法处理。

  • 415(不支持的媒体类型):请求的格式不受请求页面的支持。

  • 416(请求范围不符合要求):如果页面无法提供请求的范围,则服务器会返回此状态码。

  • 417(未满足期望值):服务器未满足”期望”请求标头字段的要求。

5xx

表示服务器有错误,在处理请求的过程中有错误或者异常状态发生

常见的有:

  • 500 (服务器内部错误):服务器遇到错误,无法完成请求
  • 501 (尚未实施):服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码
  • 502 (错误网关):服务器作为网关或代理,从上游服务器收到无效响应
  • 503 (服务不可用):服务器目前无法使用 (由于超载或停机维护)
  • 504 (网关超时):服务器作为网关或代理,但是没有及时从上游服务器收到请求
  • 505 (HTTP 版本不受支持):服务器不支持请求中所用的 HTTP 协议版本

适用场景

100:客户端在发送 POST 数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传 POST 数据,如果处理,则 POST 上传数据。常用于 POST 大数据传输

206:一般用来做断点续传,或者是视频文件等大文件的加载

301:永久重定向会缓存。新域名替换旧域名,旧的域名不再使用时,用户访问旧域名时用 301 就重定向到新的域名

302:临时重定向不会缓存,常用 于未登陆的用户访问用户中心重定向到登录页面

304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分

400:参数有误,请求无法被服务器识别

403:告诉客户端进制访问该站点或者资源,如在外网环境下,然后访问只有内网 IP 才能访问的时候则返回

404:服务器找不到资源时,或者服务器拒绝请求又不想说明理由时

503:服务器停机维护时,主动用 503 响应请求或 nginx 设置限速,超过限速,会返回 503

504:网关超时

常见状态码:

  • 200:服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
  • 301 : (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
  • 302:(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
  • 400 :客户端请求有语法错误,不能被服务器所理解。
  • 403 :服务器收到请求,但是拒绝提供服务。
  • 404 :(未找到) 服务器找不到请求的网页。
  • 500: (服务器内部错误) 服务器遇到错误,无法完成请求。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/110904.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!