目标
目标: 理解 GET 和 POST 请求方式的区别
分支名: get_post
注意: 后端采用 express 编写
●npm i 安装依赖
●npm run start 启动后端接口项目
●即可在前端发起测试
效果
可以自行查看 network 里, 发现 GET 方式无法携带请求体, 浏览器做的限制
项目运行效果说明:后端会把收到的 GET / POST 方式的参数在响应体返回给浏览器打印(间接测试后端是否收到前端发去的参数)
利用 apifox 接口测试工具发起, 发现无论是 GET 还是 POST 方式都可以携带查询参数和请求体
逐字稿
1GET 和 POST 请求方式无区别, 本质都是一次 HTTP 请求 ( TCP 链接 ), 而HTTP 请求报文中都包含请求行, 请求头, 请求体
a图解:
b我们可以在相应位置携带值给服务器
2但是GET或HEAD请求方式, 浏览器会忽略请求体, 但不代表 GET/HEAD 方式无法发送请求体, 使用 apifox 等接口调试工具是可以携带请求体的
3非要说区别有如下几点
a浏览器回退的时候, GET 不会重新提交, 而 POST 会重新提交表单
bGET 会被浏览器主动缓存, POST 不会
c再就是 url 上传查询参数和请求体传参的区别了(实际上不是 GET 和 POST 区别了)
ⅰurl 上只能进行 url 编码, 而请求体里支持多种编码格式
ⅱurl 上的参数会保留在浏览器历史记录里, 而请求体不会被保留, 除非用代码设置
*上文笔者网上拷贝的自己看的同时希望对你有帮助