Network - get 和 post 请求有哪些区别

回到顶部(go to top)

简易版

 

数据/参数在哪里:

  • GET 是通过 URL 方式请求,可以直接看到,明文传输
  • POST 参数数据被包含在请求体中。通过 header 传输,同样是明文。但比直接显示在URL中安全多了

对数据长度的限制:

  • GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。
    • http 协议并未规定 get 和post  的长度限制
    • get 的最大长度限制是因为浏览器和 web 服务器限制了 URL 的长度
    • 不同的浏览器和web服务器,限制的最大长度不一样
    • 超出了最大长度,大部分的服务器直接截断,有些服务器会报414错误
  • POST 没有限制

是否会缓存:

  • 浏览器会缓存和记录 GET 请求及参数(这一点不是很安全,如参数中包含敏感信息可能被其他从浏览器的缓存和浏览记录获取)
  • 不缓存 POST 的请求的参数

是否会修改服务器内容(= 幂等性 Idempotent ?):

  • GET 只读服务器数据不会修改; 幂等简单理解就是每次请求结果和产生的影响都一样 
  • POST 请求可能会导致新的资源的建立和/或已有资源的修改

 

回到顶部(go to top)

详细版

https://blog.csdn.net/meism5/article/details/90414274

 

posted on   frank_cui  阅读(304)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

levels of contents
点击右上角即可分享
微信分享提示