2010-06-20 171 views

回答

3

如果您只是为浏览器开发您的web应用程序,您应该去邮政并得到。

但是,例如, REST-API应该/可以使用put和delete方法。因此,您可以更好地定义要在特殊资源上执行的操作。 http://en.wikipedia.org/wiki/Representational_State_Transfer

+0

如何使用客户端脚本通过Web服务与服务器通信的Web应用程序? – 2010-06-20 18:42:47

+0

是的,你是对的。我把例如在REST-API之前,因为这是我想到的第一个例子。放入/删除方法有多种原因。 Web服务是一个很好的流行词。 :) – TooAngel 2010-06-20 19:01:09

3

有一个关于这个主题在这里一个非常有趣的文章:http://www.artima.com/lejava/articles/why_put_and_delete.html

轻微提取物:

PUT和DELETE是GET和POST之间的中间。 PUT或DELETE和POST之间的区别在于PUT和DELETE是幂等的,而POST不是。必要时可以重复PUT和DELETE。假设您正尝试将新页面上传到网站。假设你想在http://www.example.com/foo.html创建一个新页面,所以你输入你的内容,然后把它放在那个URL上。服务器在您提供的URL处创建该页面。现在,让我们假设您的网络连接出现故障。您不确定,请求是否通过?也许网络很慢。也许有代理服务器问题。因此,再次尝试或再次尝试是完全正确的 - 尽可能多地尝试。因为将同一个文档放到同一个URL十次与放置一次不会有什么不同。 DELETE也是如此。您可以删除十次,这与删除一次相同。

+0

正如那篇文章所说,虽然浏览器并不真正支持put和delete。有没有什么理由通过邮件去模仿,而不是仅仅使用post? – 2010-06-20 18:29:25

+0

浏览器可能不支持放置和删除 - 这并不意味着它不是由服务器处理(幂等性很重要)。现在越来越多的开发者正在利用AJAX这样的技术,它不再是一个你不能在HTML表单中使用它们的问题。 – 2010-06-20 18:40:38

+1

或者换一种说法:浏览器*支持*,只有HTML表单不支持。但是,浏览器可以通过许多其他方式提交数据,而不仅仅是通过HTML表单。 ECMAScript就是其中之一,Flash就是其中之一,Java,Silverlight,你就是它的名字。 – 2010-06-20 22:54:22

相关问题