我知道您不希望使用用户名和密码发布表单,任何人都可以使用历史记录查看或可能不需要重复操作的情况(刷新页面=将项目添加到购物车可能不合适).所以当我想要使用一个而不是另一个时,我有一个理解.但我总是可以让服务器在GET之后重定向URL以解决购物车问题,也许我的大多数表单都可以与GET完美配合.
我为什么要使用POST而不是GET?我不明白一方面的好处.我注意到POST不会将数据添加到历史记录/ URL中,并会警告您刷新页面,但这些是我所知道的唯一两个区别.为什么作为开发人员我可能想要使用一个而不是另一个?
每种HTTP方法:POST,GET,PUT,DELETE等都会讽刺它自己的语义.在选择正确的方法时,了解HTTP和REST非常重要,因为这是HTTP的工作方式以及网络基础架构运行的方式.
在休息的好教程,请点击这里.以下是有关POST和GET方法的内容:
因为每个资源使用相同的接口,所以您可以依赖于能够使用GET检索表示 - 即一些呈现它.因为GET的语义是在规范中定义的,所以当你调用它时你可以确定你没有义务 - 这就是为什么这个方法被称为"安全"的原因.GET支持非常高效和复杂的缓存,因此在许多情况下,您甚至不必向服务器发送请求.您还可以确定GET是幂等的 - 如果您发出GET请求并且没有得到结果,您可能不知道您的请求是否从未到达目的地或者回复在返回给您的途中丢失了.
该幂等保证意味着你可以简单地再次发出请求.PUT也保证了幂等性(这基本上意味着"用这个数据更新这个资源,或者如果它已经不存在就在这个URI上创建它")和DELETE(你可以一次又一次地尝试直到你得到一个结果 - 删除不存在的东西没有问题).POST通常意味着"创建一个新资源",也可用于调用任意处理,因此既不安全也不幂等.
GET请求中的所有数据都在URL中携带,该URL具有大小限制并且对用户也是可见的.一个POST请求,允许你发送一个有效载荷为好.
除技术差异外,还有意图问题.HTTP标准描述了不同的请求(该方式GET,POST,PUT,DELETE,HEAD)旨在使用; 例如,PUT旨在添加资源,DELETE旨在删除资源,并POST旨在修改资源.您可以使用GET请求而不是PUT或DELETE?当然,但遵循标准使意图明确.
有关详细信息,请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html.
| 归档时间: |
|
| 查看次数: |
16919 次 |
| 最近记录: |