HTTP PUT 和 POST 的区别?

2017-04-25 14:00:56 +08:00
 xiaqinglin
现在在写一个 restful 接口,想问下大神么 HTTP 方法里 PUT 和 POST 的区别,我看了一些文章提到“幂等”的概念,即“ PUT 方法是幂等的。幂等的方法意味着请求成功执行所得到的的结果不依赖于该方法被执行的次数。”,但是还是不太能理解?

还有我写 restful 接口的时候,做更新操作的时候是不是只要实现 put 或者 post 中的一个就可以了?不需要两个一起实现?
6767 次点击
所在节点    问与答
24 条回复
zivsu
2017-04-27 10:00:58 +08:00
Use PUT when you can update a resource completely through a specific resource. For instance, if you know that an article resides at http://example.org/article/1234, you can PUT a new resource representation of this article directly through a PUT on this URL.

If you do not know the actual resource location, for instance, when you add a new article, but do not have any idea where to store it, you can POST it to an URL, and let the server decide the actual URL.
mingyun
2017-04-29 11:53:15 +08:00
@zhujinliang 解释到位
chengs
2018-01-10 01:51:12 +08:00
PUT 原意是指定路经 post 文件
fundebug
2018-11-09 09:53:27 +08:00
幂等即 idempoten

> Methods can also have the property of “ idempotence ” in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request.

意思就是执行多次结果是一样的。

PUT 是 idempotent 的方法,而 POST 不是。

https://blog.fundebug.com/2018/11/09/http-method-put-vs-post/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX