get 和 post 请求的概念与区别
概念
HTTP请求是客户端(如浏览器)向服务器请求数据或服务的方式。`GET`和`POST`是HTTP请求的两种基本方法,它们在概念和用途上有一些关键的区别:
GET请求:
- **概念**:GET请求用于从服务器检索数据。它向服务器查询信息,服务器响应该请求并返回数据。
- **数据传输**:数据通过URL传递,附加在URL后面,形成查询字符串。
- **缓存**:GET请求可以被浏览器缓存。
- **长度限制**:URL长度通常有限制,因此GET请求的数据长度也有限制。
- **可见性**:数据在URL中可见,因此不适合传输敏感信息。
- **用途**:适用于请求服务器发送资源或执行不需要数据修改的查询。
POST请求:
- **概念**:POST请求用于向服务器提交数据。它向服务器发送新的数据,通常用于更新或添加服务器上的数据。
- **数据传输**:数据在请求体(body)中传递,不会显示在URL中。
- **缓存**:POST请求默认不被浏览器缓存。
- **长度限制**:由于数据在请求体中,POST请求的数据长度通常没有限制。
- **可见性**:数据不会显示在URL中,更适合传输敏感信息。
- **用途**:适用于向服务器提交表单数据、文件上传或执行需要修改数据的操作。
主要区别:
1. **数据传输方式**:GET通过URL传递数据,POST通过请求体传递数据。
2. **安全性**:GET在URL中暴露数据,而POST数据不会显示在URL中。
3. **数据长度**:GET受到URL长度限制,POST没有这个限制。
4. **幂等性**:GET请求是幂等的,意味着多次执行相同的GET请求结果相同,不会改变资源状态;POST请求不是幂等的,因为它们可能改变服务器状态。
5. **用途**:GET通常用于获取数据,POST用于提交数据。了解GET和POST请求的区别对于正确使用HTTP协议和设计Web应用程序非常重要。
初始化
首先打开apipost 点击 "新建接口"
得到如下界面
注意到我们这里需要一个url,我们怎么获取呢
获取目标url
当我们登录设备的时候显示 "已经有设备登录,非本机" ,执行如下命令重启即可
/etc/init.d/iot-http restart
进入我们的网页打开开发者模式
找到登录时的api
如下,并将其填入上面 额url框
配置认证
点击查看最右方 Cookie选项
如下图赋值其中的Token 值
在登录的时候的前几个值的Preview中能拿到
在认证中找到 Bearer Token
将刚刚赋值的值放入其中
配置body
在在body中选择 raw -> json
填入如下格式
{
"method": "call",
"param": [
"module", // 或者是"module/submoudle"
"module_func",
{
"param1": "val1",
"param2" : "val2",
"..." : "..."
}
]
}
其中 "module" 是你的文件相对路径
"module_func" 是你的文件函数名
里面的 {}就是我们调用这个函数需要传的方法了
做好如上配置后点击发送即可