与HTTP和REST比较的Get和post方法之间的区别

时间:2012-06-27 15:00:23

标签: web-services http rest httpwebrequest client-server

我是REST新手。我想知道何时使用get方法以及何时使用post方法。在我的文学调查过程中,我发现了这些知识。

实际上,当我搜索HTTP get和post方法时,我读到了get不编码URL并对URL进行后期编码

当我搜索其余的get和post方法时,我读到get方法用于从服务器检索数据,post方法是向服务器添加一些数据。

但我也读过,休息只不过是使用HTTP的惯例。

所以我觉得有些事情在这里是矛盾的。 HTTP的方法有何不同?

请澄清。此外,欢迎任何关于何时使用get和post方法的建议

我从中获得此信息的资源:

https://www.ibm.com/developerworks/webservices/library/ws-ful/

http://www.cs.tut.fi/~jkorpela/forms/methods.html

2 个答案:

答案 0 :(得分:11)

应该使用GET来检索资源。此操作应该是幂等的,这意味着它不应该更改服务器上的任何状态。

POST应该用于向服务器添加新信息。这通常在表示资源“容器”的URL上执行。 POST将向此容器添加新资源。

PUT应该用于更新现有资源。

删除应该很明显。

您可能会喜欢阅读:http://tomayko.com/writings/rest-to-my-wife

答案 1 :(得分:0)

你的问题部分尚未得到任何关注,并且可能引起你的一些困惑,是:“REST只不过是使用HTTP的惯例。”使用HTTP来操纵应用程序状态,这是一种不准确的方式来描述REST在/它方面的作用。这被正式称为HATEOAS - http://en.wikipedia.org/wiki/HATEOAS,几乎是RESTful Web服务概念的核心。