开发过程中的接口都会和请求方式打交道,日常开发说简单就是增删改查,但是想要融会贯通难上加难。请求方式用来面对前后交互,常见的有六种。
目录
一、常见六种请求方式
1、get:向特定资源发出请求,是从服务器上获取数据,一般请求参数放在URL中;相当于数据库中的select操作一样,不对服务器的数据做任何的修改。
2、post:向指定资源提交数据进行处理请求(表单/上传文件),又可能导致新的资源的建立或原有资源的修改,是向服务器传送数据;就和数据库的insert操作一样,会创建新的内容,常用来数据的提交,新增操作。
3、delete:请求服务器删除request-URL所标示的资源*(请求服务器删除页面),简单来说用来删除某一行的,该请求就像数据库的delete操作一样。
4、put:向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容);相当于数据库的update,修改数据内容,不会增加数据种类。
5、head:与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头).
6、opions:获取目的资源所支持的通信选项;返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能);就是 options请求去嗅探某个请求在对应的服务器中都支持哪种请求方法。
二、Get请求
1、GET通过拼接URL进行传递参数,参数可见;
2、只支持URL编码。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,GET一般用于获取/查询资源信息;
3、GET请求是明文传输的,能够被缓存,并且数据类型只允许ASCII 字符;
4、GET请求会受限于URl的长度(游览器的限制);
5、GET请求在与服务器建立连接时,就会将请求参数一同发送至服务器。待连接成功后,服务器会将与请求参数匹配的内容返回;
6、接口中一般用于查询。
三、Post请求
1、POST请求一般通过body传递参数;数据类型请求无限制;
2、POST请求是密文传输,不能够被缓存;
3、POST提交参数不可见, 安全性更高,支持多种编码;
4、POST请求先发送header,等服务端响应100了再继续发送data,服务器再响应200;
5、POST和GET请求的底层都是HTTP的请求方式,底层都是tcp/ip协议;GET产生一次TCP数据包,POST产生两次数据包(firefox只发送一次);
6、接口中一般用于新增。
四、Delete请求
删除某一个资源;接口中一般用于删除。
服务器
// 传统的URL
app.delete('/axios', (req, res) => {
res.send('axios delete 传递参数' + req.query.id)
})
// Restful 的URL
app.delete('/axios/:id', (req, res) => {
res.send('axios delete(Restful) 传递参数' + req.params.id)
})
客服端
axios.delete('http://localhost:3000/axios?id=123').then(function (res) {
console.log(res.data);
});
axios.delete('http://localhost:3000/axios/123').then(function (res) {
console.log(res.data);
});
axios.delete('http://localhost:3000/axios', {
params: {
id: 234
}
}).then(function (res) {
console.log(res.data);
});
五、Put请求
1、PUT请求向服务器发送数据,通常指定资源的存放位置;
2、接口中一般用于修改更新。
六、Head请求
HEAD请求可以用来获取请求中隐含的元信息,一个HEAD请求的响应可被缓存;HEAD请求常常被忽略,但是能提供很多有用的信息,主要有以下特点:
1、只请求资源的首部;
2、检查超链接的有效性;
3、检查网页是否被修改;
4、多用于自动搜索机器人获取网页的标志信息,获取rss种子信息,或者传递安全认证信息等。
七、Opions请求
1、用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能;
2、该请求方法的响应不能缓存;
3、用来检查服务器的性能。
以上别人见解,菜菜鸟借来的,有一点自己的想法,希望瞅过的大佬不吝留下品论