特别是对于大多数不支持它的浏览器,除了严格的标准遵从性之外还有什么可以证明额外的开发时间?使用put和delete有什么好处,而不仅仅是获取和发布
回答
如果您只是为浏览器开发您的web应用程序,您应该去邮政并得到。
但是,例如, REST-API应该/可以使用put和delete方法。因此,您可以更好地定义要在特殊资源上执行的操作。 http://en.wikipedia.org/wiki/Representational_State_Transfer
如何使用客户端脚本通过Web服务与服务器通信的Web应用程序? – 2010-06-20 18:42:47
是的,你是对的。我把例如在REST-API之前,因为这是我想到的第一个例子。放入/删除方法有多种原因。 Web服务是一个很好的流行词。 :) – TooAngel 2010-06-20 19:01:09
有一个关于这个主题在这里一个非常有趣的文章: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也是如此。您可以删除十次,这与删除一次相同。
正如那篇文章所说,虽然浏览器并不真正支持put和delete。有没有什么理由通过邮件去模仿,而不是仅仅使用post? – 2010-06-20 18:29:25
浏览器可能不支持放置和删除 - 这并不意味着它不是由服务器处理(幂等性很重要)。现在越来越多的开发者正在利用AJAX这样的技术,它不再是一个你不能在HTML表单中使用它们的问题。 – 2010-06-20 18:40:38
或者换一种说法:浏览器*支持*,只有HTML表单不支持。但是,浏览器可以通过许多其他方式提交数据,而不仅仅是通过HTML表单。 ECMAScript就是其中之一,Flash就是其中之一,Java,Silverlight,你就是它的名字。 – 2010-06-20 22:54:22
- 1. DuplicateHandle,为什么重复而不是仅仅获取?
- 2. 导入React,{组件}而不仅仅是React的好处是什么?
- 3. 使用calloc()而不是malloc()和memset()有什么好处吗?
- 4. 使用PostQuitMessage和仅处理所有消息有什么不同?
- 5. 为什么使用react-redux而不仅仅是redux?
- 6. 在C++中使用异常和try/catch而不是仅返回错误代码有什么好处?
- 7. 为什么使用DELETE/POST而不是PUT来取消/关注用户?
- 8. 使用CURL发送`PUT`和`DELETE`请求
- 9. 为什么WPF有它自己的Color类而不是仅仅使用Drawing.Color?
- 10. 是什么牛排加不仅仅是Rails中测试使用水豚和RSpec?
- 11. 将街道地址数据清晰地存储而不仅仅是字符串有什么好处吗?
- 12. 为什么我们使用@Echo off/on而不是仅仅使用echo/off?
- 13. 什么是“DateTime?”而不仅仅是C#中的DateTime?
- 14. 使用Doctrine使用DQL而不是SQL有什么好处?
- 15. 为什么使用“RIA Services Link”而不是仅仅是一个OData端点?
- 16. 使用Cloudfront和Cloudflare有什么好处?
- 17. 为什么我的布局仅在Firefox和IE8(而不是9)中打破?
- 18. XSL模板处理所有后代,而不仅仅是儿童
- 19. 获取属性值而不仅仅是Id
- 20. 为什么tarball叫tarball而不仅仅是焦油?
- 21. 为什么在PowerShell中等于“-eq”而不仅仅是“=”?
- 22. 为什么xmlns:xsi,而不仅仅是XML文档中的xsi?
- 23. 为什么我得到NativeGestures Qt中,而不是仅仅手势
- 24. 为什么fopen()或open()使用errno而不是仅仅返回错误代码?
- 25. 在iOS开发中,为什么他们称之为“ViewController”而不仅仅是“Controller”?
- 26. 使用分部类而不是抽象类有什么好处?
- 27. 使用Flux而不是for循环,有什么好处?
- 28. 使用名称而不是版本号有什么好处?
- 29. 使用ORDBMS代替RDBMS有什么好处,而不是JPA
- 30. PHP:使用echo而不是print有什么好处?
+1不叫它REST – skaffman 2010-06-20 18:19:19