您现在的位置是:首页 > 技术栈 > 网络科技网络科技

HTTP状态码总结汇总

2020-03-07【网络科技】人已围观

简介HTTP状态码表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常或者是出现的错误,能够根据返回的状态码判断请求是否得到正确的处理很重要。

  状态码由3位数字和原因短语组成,例如下图所示:

  http状态码可以让我很方便的了解到请求的所在状态,当然其也是大厂笔试的必考题。

  所以很有必要总结一下,对今后的学习也是很有帮助的。

  HTTP状态码总的分为五类:

  1开头:Informational(信息性状态码)、接受的请求正在处理

  2开头:Success(成功状态码)、请求正常处理完毕

  3开头:Redirection(重定向)、需要进行附加操作以完成请求

  4开头:Client error(客户端错误)、客户端请求出错,服务器无法处理请求

  5开头:Server Error(服务器错误)、服务器处理请求出错
 

1开头:信息状态码
 

100:继续,初始的请求已经接受,请客户端继续发送剩余部分

101:切换含义,请求这要求服务器切换协议,服务器已确定切换


 

2开头:成功状态码

 
200:成功,服务器已成功处理了请求

201:已创建,请求成功并且服务器创建了新的资源

202:已接受,服务器已接受请求,但尚未处理

203:非授权信息,服务器已成功处理请求,但返回的信息可能来自另一个来源

204:无内容,服务器成功处理了请求,但没有返回任何内容

205:重置内容,服务器处理成功,用户终端应重置文档视图

206:部分内容,服务器成功处理了部分GET请求
 
 

3开头:重定向状态码

 
300:多种选择,针对请求,服务器可执行多种操作

301:永久移动,请求的页面已永久跳转到新的url

302:临时移动,服务器目前从不同位置的网页响应请求,但请求仍继续使用原有位置来进行以后的请求

304:查看其他位置,请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码

305:使用代理,自从上次请求后,请求的网页未修改过

307:临时重定向,服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
 
 

4开头:客户端错误状态码

 
400:错误请求——服务器不理解请求的语法

401:未授权——请求要求用户的身份演验证

403:禁止——服务器拒绝请求

404:未找到——服务器找不到请求的页面

405:方法禁用——禁用请求中指定的方法

406:不接受——无法使用请求的内容特性响应请求的页面

407:需要代理授权——请求需要代理的身份认证

408:请求超时——服务器等候请求时发生超时

409:冲突——服务器在完成请求时发生冲突

410:已删除——客户端请求的资源已经不存在

411:需要有效长度——服务器不接受不含有效长度表头字段的请求

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

413:请求实体过大——由于请求实体过大,服务器无法处理,因此拒绝请求

414:请求url过长——请求的url过长,服务器无法处理

415:不支持格式——服务器无法处理请求中附带媒体格式

416:范围无效——客户端请求的范围无效

417:未满足期望——服务器无法满足请求表头字段要求
 
 

5开头:服务端错误状态码

 
500:服务器错误——服务器内部错误,无法完成请求

501:尚未实施——服务器不具备完成请求的功能

502:错误网关——服务器作为网关或代理出现错误

503:服务不可用——服务器目前无法使用

504:网关超时——网关或代理服务器,未及时获取请求

505:不支持版本——服务器不支持请求中使用的HTTP协议版本
 
 

  各类别常见状态码:

2xx (3种)

  200 OK:表示从客户端发送给服务器的请求被正常处理并返回;

  204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);

  206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

3xx (5种)

  301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;

  302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;

  301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)

  303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;

  302与303的区别:后者明确表示客户端应当采用GET方式获取资源

  304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;

  307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

4xx (4种)

  400 Bad Request:表示请求报文中存在语法错误;

  401 Unauthorized:未经许可,需要通过HTTP认证;

  403 Forbidden:服务器拒绝该次访问(访问权限出现问题)

  404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

5xx (2种)

  500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;

  503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

 

  作用及使用场景

1、作用:封装异步请求

  对于线上项目,如果不封装错误响应及提示将会是用户迷惑,带来极差的用户体验,同时,对于收集错误、定位问题也是很难的;针对支付宝及微信小程序,审核要求对错误信息进行友好提示及反馈处理,否则将影响小程序健康分值,影响流量分发。

2、使用场景:外部项目或电商项目

  如果项目是给第三方用的,开发完成后无法再次调试,当发现错误时极难定位是什么问题,是客户端或是服务端错误,状态码提示能让不懂开发的人员可以迅速报告问题类型,以便采取相应措施及时补救,尤其对于电商或线上交易项目尤为重要。
 

如有错误可在下方评论区留言

Tags:HTTP   网络科技

很赞哦! ()

上一篇:返回列表

下一篇:返回列表

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 建站时间:2018-06-26
  • 网站程序:帝国CMS7.5
  • 文章统计34篇文章
  • 标签管理标签云
  • 统计数据友盟数据
  • 网站地图XML网站地图
  • 微信公众号:扫描二维码,关注我们