简略
细节每个人都有一个合适的地方。即使你不跟着安息原则上,学习REST和如何使用面向资源的方法可以获得很多好处。
RESTful应用程序将use GETs
对于两个都是safe and idempotent
.
A safe
操作是一种操作not change the data
请求。
阿idempotent
操作是结果将be the same
不管你要求多少次。
这是合理的,因为GET被用于安全操作,它们也是自动的。幂等..通常,GET用于检索资源(例如,堆栈溢出时的问题及其相关答案)或资源集合。
RESTful应用程序将使用PUTs
对于以下操作not safe but idempotent
.
我知道这个问题是关于GET和POST的,但我马上就会回到POST。
通常,PUT用于编辑资源(例如,在堆栈溢出时编辑问题或答案)。
A POST
将用于以下任何操作:neither safe or idempotent
.
通常,POST将用于创建新资源,例如创建一个新的SO问题(尽管在某些设计中也会使用PUT)。
如果你运行这篇文章两次,你最终会产生两个新的问题。
还有一个DELETE操作,但我猜我可以把它留在那里:)
讨论
实际上,现代Web浏览器通常只支持GET和POST(您可以通过javascript调用执行所有这些操作,但在表单中输入数据和按提交时,通常有两个选项)。在RESTful应用程序中,POST经常会被覆盖以提供PUT和DELETE调用。
但是,即使您没有遵循RESTful原则,考虑使用GET检索/查看信息和POST来创建/编辑信息也是有用的。
您不应该将GET用于更改数据的操作。如果搜索引擎爬行一个链接到您的邪恶操作,或客户书签,它可能会带来很大的麻烦。