不同的HTTP请求方法之间的实际区别是什么?

问题描述 投票:1回答:2

我已经阅读了很多有关此问题的讨论,例如PUT是幂等而POST不是等。但是,这最终不取决于服务器的实现方式吗?开发人员可以始终构建后端服务器,以使PUT请求不是幂等的,并为多个请求创建多个记录。开发人员还可以为PUT请求构建端点,使其像DELETE请求一样,并删除数据库中的记录。

因此,我的问题是,考虑到我们不考虑任何服务器端代码,HTTP方法之间是否有真正的区别?例如,GET和POST的真正区别在于您不能使用GET请求发送正文,但是可以使用POST请求发送正文。另外,据我了解,大多数浏览器通常默认情况下会缓存GET请求。

HTTP请求方法除了逻辑结构之外,还有其他什么使我们可以基于发送的HTTP请求的类型来“预期”某种行为的吗?

http post methods get put
2个回答
0
投票

您是正确的,大多数区别都在语义级别上,如果您的组件决定分配其他语义,那么这也将起作用。 除非涉及您不控制的组件(库,代理,负载均衡器等)。

例如,某些组件可能会利用PUT幂等的特性,因此可以重试,而POST则不可以。


-1
投票

超文本传输​​协议(HTTP)用于启用客户端和服务器之间的通信。

© www.soinside.com 2019 - 2024. All rights reserved.