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

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与后端连接未建立,超时。

相关推荐
XUEYUAN52126 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
CHENKONG_CK6 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
z落落6 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
曼巴UE56 天前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
captain3766 天前
HTTP(2)
java·网络·http·java-ee
开开心心就好6 天前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
比兔代理6 天前
正向代理与反向代理技术辨析,为什么代理 IP 属于正向代理
服务器·网络·http·ip
K成长日志7 天前
DALI协议-Part209-颜色控制
物联网·网络协议·iot·智能照明·智能建筑·dali
IPdodo_7 天前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
碳基修炼7 天前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http