GET 和 POST 的区别

根据技术规格文档,GET 和 POST 最大的区别是语义。

区别一:幂等性 (重复操作不改变结果 )

  1. 由于 GET 是读,POST 是写,所以 GET 是幂等的,POST 不是幂等的。
  2. 由于 GET 是读,POST 是写,所以用浏览器打开网页会发送 GET 请求,想要 POST 打开网页要用 form 标签。
  3. 由于 GET 是读,POST 是写,所以 GET 打开的页面刷新是无害的,POST 打开的页面刷新需要确认。
  4. 由于 GET 是读,POST 是写,所以 GET 结果会被缓存,POST 结果不会被缓存。
  5. 由于 GET 是读,POST 是写,所以 GET 打开的页面可被书签收藏,POST 打开的不行(安全考虑)。

区别二:请求参数

  1. 通常,GET 请求参数放在 url 里,POST 请求数据放在 body(消息体)里。(通常情况如此,主要原因是后端框架可能存在限制,不支持读取get的body)
  2. GET 比 POST 更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
  3. GET 请求参数放在 url 里是有长度限制的(浏览器和服务器实现,不是协议限制),而 POST 放在 body 里没有长度限制(可配置)。

区别三:TCP packet

  1. GET 产生一个 TCP 数据包;POST 产生两个或以上 TCP 数据包。
posted @   coderjnp  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示