【网络基础】常用请求状态码集合、请求方法以及Restful API的记录

前言

*号的表示平常可能会常遇见的,也是平时容易遇到,面试可能会考到的。


状态码

1开头

1开头的一般表示服务器收到请求了,但是认为请求还没发送完全

状态码说明
100这个状态码是告诉客户端应该继续发送请求,这个临时响应是用来通知客户端的,部分的请求服务器已经接受,但是客户端应继续发送求请求的剩余部分,如果请求已经完成,就忽略这个响应,而且服务器会在请求完成后向客户发送一个最终的结果;
101表示要把请求协议改成HTTP2,不支持老版本了

2开头

2开头表明服务器正常接收到数据,并且返回响应

状态码说明
*200这个是最常见的http状态码,表示服务器已经成功接受请求,并将返回客户端所请求的最终结果;
202表示服务器已经接受了请求,但是还没有处理,而且这个请求最终会不会处理还不确定;
204服务器成功处理了请求,但没有返回任何实体内容 ,可能会返回新的头部元信息;

3开头

3开头表示重定向,资源位置变化了

状态码说明场景
*301客户端请求的网页已经永久移动到新的位置,当链接发生变化时,返回301代码告诉客户端链接的变化,客户端保存新的链接,并向新的链接发出请求,已返回请求结果;例如你访问一个网站,结果这个网址到期了,后端给你返回的响应请求头中的location就是新的地址,浏览器自动跳转到新的网址,并且永久记录新地址,下次直接访问新地址
*302表示临时性重定向。区别于301,浏览器不会记住新地址,每次访问还是先去旧地址,后端返回location再去新地址例如搜索引擎搜索出来的一条条外网的链接,当你点击其中一条时,是先进入搜索引擎的对应这条结果的地址,然后才重定向到真正的外网地址。类似的还有短网址。
*304服务端资源未被修改,还可以使用你本地的资源

4开头

4开头表示发的请求有问题,问题在客户端那边

状态码说明场景
400请求的东西服务端完全无法理解发送请求附带的参数格式有问题,一般是数据类型的问题;
*401Token码过期
*403理解了你的请求,但是服务器拒绝或者禁止访问无用户权限
*404客户端请求的资源没有找到或者是不存在;后端这个接口不存在;资源不存在;
405请求的方式和文档所提供的不符合;
415发送的数据格式有错误,可用JSON.stringify()解决;

5开头

5开头一般都是服务器端的问题

状态码说明场景
*500服务器遇到未知的错误,导致无法完成客户端当前的请求;1.说明后端写的代码有问题;2.在重复添加同一信息的用户后,出现500报错;通过resource获取的错误信息可以知道,后台会返回一个错误的信息,提示“该用户已经注册”;3.还有可能是请求的参数写错了,没按文档来;
503服务器由于临时的服务器过载或者是维护,无法解决当前的请求
*504网关超时

补充

因为有些状态码对应的情况是多场景的(也就是一对多),所以有时候并不能通过状态码去准确的定位请求问题(例如500)。

一般后端会设计成失败都响应500,然后通过一个字段描述具体失败的原因。

附上一个不错的状态码对照表


请求方法

  • get 获取数据
  • post 新建数据
  • options是浏览器自行发起的请求,例如用来测试服务端支持哪些类型的请求方法、或者做请求预检
  • patch/put 更新数据
  • delete 删除数据
  • …其他不常见

大多数公司都只使用到get和post,post的功能涵盖了修改删除等。

post和get的区别

  • get不会有请求体,数据都附带在url中,只能传递少量的数据;post有请求体,可以传输大量的数据。
  • get由于参数都暴露在url中,如果有敏感数据,会变得不安全。
  • get只支持appliacation-x-www-form-urlencoded编码,而post可以设置Content-Type支持多个编码。
  • get请求只会发送一次,post会先发送一个预检options请求,发送内容为header,然后服务器响应100,浏览器才继续发送一个完整的post请求。

其他的区别我觉得不重要就不记录了


Restful API

  • 一种新的API设计方法;
  • 传统api设计:把每个url当做一个功能;restful api当做一个唯一的资源;

来理解第二句,举例一个查询地址,传统的api地址一般为/user/list?page=1,而restful api是/user/list/1。传统的地址一下子就能读出功能是什么,而restful api其实单纯看地址是看不出来功能的,还需要配合最新的请求方法定义,例如get,就能知道是查询操作,查询第一页的用户列表。同理post、patch、delete都一样。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值