GET 和 POST 方式区别

目标

目标: 理解 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 上的参数会保留在浏览器历史记录里, 而请求体不会被保留, 除非用代码设置

*上文笔者网上拷贝的自己看的同时希望对你有帮助

相关推荐
777VG24 分钟前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi1 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC1 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny1 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
kyriewen2 小时前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny2 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah3 小时前
Safari浏览器中如何只允许指定网站下载
前端·safari
用户059540174463 小时前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css
swipe3 小时前
07|(前端转后全栈)为什么后端也要缓存?从前端缓存思维理解 Redis
前端·后端·全栈
IT小盘4 小时前
05-企业项目统一接入多个大模型-适配器模式实战
前端·人工智能·适配器模式