公司规定所有接口都用post请求,这是为什么?

  1. 数据量和大小:与GET请求相比,POST请求没有大小限制,它可以发送大量的数据。这对于需要发送大量数据的应用程序是非常有益的。
  2. 安全性:POST请求在传输数据时更安全。在GET请求中,数据会附在URL之后,可以在浏览器历史记录或web服务器日志中看到。而POST请求则将数据放在请求体中,所以在一般情况下无法直接查看。
  3. 数据类型:POST请求可以发送任何类型的数据,而GET请求则仅支持ASCII字符。
  4. 幂等性和副作用:POST方法不是幂等的,这意味着发送相同的请求两次可能会产生不同的结果。相对的,GET、PUT、DELETE等HTTP方法是幂等的。如果你的服务期望客户端可以触发状态改变或副作用(比如创建、修改或删除资源),那么POST就是一个合适的选择。
  5. 标准符合性:按照HTTP协议的设计,GET应当用于获取/检索资源信息,而POST用于创建新的资源。这样的规定使得系统的设计更具有语义化。
  6. 避免缓存:一般来说,浏览器不会缓存POST请求的结果,而GET请求的结果则可能会被缓存。在需要实时数据,或者数据更新频繁的情况下,使用POST可以帮助避免从缓存中获取过期的数据。




如果请求类型是text,GET和POST完全相同,不同点是在HTTP包的位置上,GET位于HTTP HEADER中,POST在BODY中。

因为GET是在header中,传送数据的长度有限制,而BODY是可以分片的,传送的数据长度就没有限制了。

如果是作为普通的接口协议,用GET更方便。

有人认为POST比GET安全性好,不存在的,两者都是明文传送,如果数据本身不加密,抓个包就看出来了。提高安全性的手段有两个:1、传输协议用https。2、对数据加校验和鉴权防止伪造。




公司的规定不一定就是对的。

GET和POST的最大区别有两个:1、GET是幂等的;2、GET在规范上是不带BODY的,而URL querystring是有长度限制的。根据不同的特性,应用场景不同。

根据我的理解,一般限制调用都是POST,是API服务端开发者为了统一参数解析的方便。

如果遵守RESTful的好处是,很多网络和软硬件基础设施会根据不同类型请求作出相应的优化。比较常见的是,幂等请求会做缓存优化。

技术规范总是标准化和实用性的权衡,没有绝对的对错。

延伸开去,所谓的世俗道德标准,佛教的条条框框也都是如此。因为绝大部分人并不能深刻理解所有东西,这时候就需要一些指导实践的规矩规范。

一边理解一边遵守是对待规范的应有的态度。




我从爬虫的角度来补充下。

如果用get方式,普通小白用chrome的开发工具,查看网络请求,不用任何其他工具,在浏览器地址栏变换参数就可以实现不同的请求。

如果是post方式,浏览器输入参数就不管用了,必须要借助工具才行。

当然对可以有编程能力的还是防不住,不过可以阻挡大部分小白的探索了。




简单说,就是怕你和你的同事蠢,怕你们在get和post上弄出bug还特么找不到出错原因。

展开阅读全文

页面更新:2024-03-29

标签:不同点   佛教   副作用   缓存   安全性   长度   接口   浏览器   大小   协议   参数   类型   方式   标准   数据   财经   资源   公司

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top