get、post、put、delete?

为什么要区分get、post、put、delete?

所有 http 请求,一律用 POST,在业务功能的实现是没有问题的.

post,get,put,delete 是标准, 大家都遵循这样的规则. 这样的api对于它人来说一目了然, get就是获取数据, post就是提交数据, put就是更新数据, delete就做删除操作. 如果一律使用post对一个项目组的内部人员来说是没有问题的, 但是对于对外公开的接口就让调用者摸不着头脑了。

它们有什么不同?

  1. GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。
  2. PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。
  3. POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它

如何使用

以遵循 RFC-2616 所定义的协议的方式显式地使用 HTTP 方法,建立创建、检索、更新和删除(CRUD:Create, Retrieve, Update and Delete)操作与 HTTP 方法之间的一对一映射:

  • 若要在服务器上创建资源,应该使用 POST 方法;
  • 若要检索某个资源,应该使用 GET 方法;
  • 若要更改资源状态或对其进行更新,应该使用 PUT 方法;
  • 若要删除某个资源,应该使用 DELETE 方法。

关于get和post的混淆

  1. GET 请求可被缓存,请求可保留在浏览器历史记录中, 请求可被收藏为书签

  2. POST 请求不会被缓存,比较安全, 请求不会保留在浏览器历史记录中, 不能被收藏为书签。这就是为什么取数据要使用get而不是post.

因为get可以快取, 缓存和保留历史记录及书签等特殊功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GET、POST、PUT和DELETE是常见的HTTP请求方法。GET用于获取资源的信息,不会对服务器上的资源产生任何影响。POST用于向服务器提交数据,一般用于创建新的资源。PUT用于更新服务器上的资源,可以用于修改或替换已有的资源。DELETE用于删除服务器上的资源。 综上所述,HTTP请求方法的使用可以归纳为以下几种情况: - GET /url/xxx:用于获取指定资源的信息。 - POST /url:用于创建新的资源,提交数据到服务器。 - PUT /url/xxx:用于更新指定资源,修改或替换已有的资源。 - DELETE /url/xxx:用于删除指定资源。 更多关于这些HTTP请求方法的详细信息,您可以参考以下链接: - https://www.cnblogs.com/weibanggang/p/9454581.html - https://blog.csdn.net/qq_36183935/article/details/80570062 - https://blog.csdn.net/haif_city/article/details/78333213 - https://blog.csdn.net/justry_deng/article/details/80972817/<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Get、Put、PostDelete 含义与区别](https://blog.csdn.net/weixin_49770443/article/details/109805845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [总结get、put、postdelete的区别和用法](https://blog.csdn.net/weixin_56921066/article/details/118608143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值