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

相关推荐
Think Spatial 空间思维3 小时前
【HTTPS基础概念与原理】TLS握手过程详解
数据库·网络协议·https
2501_915909063 小时前
开发日常中的抓包工具经验谈:Charles 抓包工具与其它选项对比
websocket·网络协议·tcp/ip·http·网络安全·https·udp
利刃大大6 小时前
【网络编程】十、详解 UDP 协议
网络·网络协议·udp
LaoZhangGong1237 小时前
W5500使用ioLibrary库创建TCP客户端
网络·经验分享·stm32·网络协议·tcp/ip
北极象7 小时前
Go语言处理HTTP下载中EOFFailed
开发语言·http·golang
天天爱吃肉82189 小时前
车载以太网驱动智能化:域控架构设计与开发实践
java·运维·网络协议·微服务
IP管家10 小时前
企业级IP代理解决方案:负载均衡与API接口集成实践
服务器·网络·数据库·网络协议·tcp/ip·容器·负载均衡
{⌐■_■}10 小时前
【gRPC】HTTP/2协议,HTTP/1.x中线头阻塞问题由来,及HTTP/2中的解决方案,RPC、Protobuf、HTTP/2 的关系及核心知识点汇总
网络·网络协议·计算机网络·http·rpc·golang
Clownseven10 小时前
[IP地址科普] 服务器公网IP、私网IP、弹性IP是什么?区别与应用场景详解
服务器·网络协议·tcp/ip
兴达易控11 小时前
ProfibusDP主站转modbusTCP网关与ABB电机保护器数据交互
网络协议