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