【接口】HTTP(2) |请求方法及状态码

发布于:2024-04-09 ⋅ 阅读:(129) ⋅ 点赞:(0)

1、HTTP常用请求方法 

  • get:获取资源或指定的数据 请求指定的页面信息,返回实体主体(查询)

  • post:发送数据给服务器,创建或更新资源 

  • put:创建/替换目标资源

  • delete:删除资源

  • get /zoos:列出所有动物园

  • post /zoos:新建一个动物园

  • get /zoos/ID:获取某个指定动物园的信息

  • get/zoos/ID/animals:列出某个指定动物园的所有动物

  • put /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)

  • patch /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)

  • delete /zoos/ID:删除某个动物园

  • delete /zoos/ID/animals/ID:删除某个指定动物园的指定动物

 post patch put的区别

原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质。

用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的

post和put的区别容易被简单地误认为

“POST表示创建资源,PUT表示更新资源.但实际上两者都可以用来创建或是更新数据.

单从技术上来说,他们并没有什么区别.

但是在HTTP规范中POST是非等幂的,多次调用会产生不同的结果。

比如:创建一个用户,由于网络原因或是其他原因多创建了几次,那么将会有多个用户被创建.

而PUT id/456则会创建一个id为456的用户,多次调用还是会创建的结果是一样的,所以PUT是等幂的.

PATCH诞生,只传一个userName到指定资源去,表示该请求是一个局部更新,后端仅更新接收到的字段。

PUT虽然也是更新资源,但要求前端提供的一定是一个完整的资源对象

理论上说,如果你用了PUT,但却没有提供完整的UserInfo,那么缺了的那些字段应该被清空.

另外PUT会有一个create操作,加入更新的id不存在,会进行创建,而PATCH则没有这个.

2、HTTP状态码

业务返回码和http状态码不一样⚠️

比如下面返回数据为: "code": 0 ———— 是业务返回码

{

"code": 0,

"msg": "success",

"data": null

}

100~199表示请求已收到继续处理
2开头的都表示这个请求发送成功
  • 最常见的就是200,就代表这个请求是ok的,服务器也返回了
3开头的代表资源重定向
  • 最常见的是302,把这个请求重定向到别的地方了
4开头的代表客户端请求出错
  • 400 代表客户端发送的请求有语法错误,服务器无法解析
  • 401 代表访问的页面没有授权
  • 403 服务器拒绝提供服务
  • 404 代表没有这个页面,请求资源不存在
  • 死链接(Dead Links)指的是无效链接,也就是那些不可到达的链接。通俗地理解是以前可以通过点击这个链接到达网站页面,后续可能由于网站迁移、改版或操作不当等原因,使得链接指向的目标页面不存在而无法访问所遗留的链接,即称为死链接。

  • 访问死链接时,一般会出现“抱歉,您所访问的页面不存在”的提示信息或404 状态页面。

5开头的代表服务器有异常
  • 500 代表服务器内部异常
  • 504 代表服务器端超时,没返回结果
  • ⚠️502 Bad Gateway是指错误网关;无效网关;在互联网中表示一种网络错误。 表现在WEB浏览器中给出的页面反馈。此处一般指nginx做反向代理服务器时,所连接的服务器tomcat无响应导致的。

服务器方面无法给予正常的响应。一般常见于服务器崩溃后,nginx 无法正常收到服务端的响应,给客户端返回502状态码。

从网络角度,502已经与后端建立了连接,但超时;504与后端连接未建立,超时。