大多数Web服务器和框架默认支持GET和POST HTTP方法,并且不会促进甚至不允许使用PUT和DELETE方法。我知道使用后者是conceptually more appropriate and e.g. minimizes the URL scheme的网站,但实际上是否存在任何性能优势(如请求少,处理少)?如果是的话,那么用一个例子进行简短的解释对我来说就是完美的。PUT和DELETE HTTP方法是否有任何性能优势?
1
A
回答
3
在POST上使用PUT和DELETE确实没有任何性能优势。此外,使用PUT和DELETE进行RESTful并不是必需的。这是建议,但不是必需的。请参阅this。
2
区分框架和REST系统是很重要的。也就是说,使用Web框架不一定会使系统成为一个RESTful的系统。
这就是说,它不是关于你使用什么,而是你如何使用它。 所以,PUT和DELETE不需要是RESTFul,但它们确实代表了一个有趣的决定。
请参阅客户端执行DELETE时必须知道哪些资源正在删除。它正在删除整个资源。例如,如果您有一个帐单(标题和详细信息行),并且您想将完整的帐单显示为一个大资源,则DELETE将无法工作。你可以用POST修改账单。如果您已经有一个名为detail line的资源,并且您想要消除它,那么在存在资源的DELETE命令时使用POST可能会违反协议的限制。
如果你不会删除任何东西,因为客户端无法控制资源的创建和删除,所以不使用DELETE变得很自然。
相关问题
- 1. Django窗体PUT和DELETE http方法
- 2. Silverlight是否比JavaScript有性能优势?
- 3. .NET中的“链接”语句是否有任何性能优势?
- 4. 使用'unreachable!`vs`panic!`是否有任何性能优势?
- 5. JavaScript:停止事件传播是否有任何性能优势?
- 6. 是否有任何优势有子域
- 7. C# - 是否有任何额外的优势,在方法
- 8. 编码这种或那种方式是否有性能优势?
- 9. 如何覆盖Flask模块中PUT和DELETE的HTTP方法?
- 10. mod_rewrite:如何重定向HTTP DELETE和PUT
- 11. 在数组上迭代使用Arrays.stream()是否有任何性能优势?
- 12. 组织方法和功能在组织方法和功能方面是否有优势?
- 13. Silverlight:使用RestSharp的HTTP DELETE和PUT方法
- 14. 除POST,PUT,DELETE,GET之外还有其他的HTTP方法
- 15. Ejabberd的REST服务; DELETE和PUT方法
- 16. 如何禁用不安全的http方法(OPTIONS,PUT,DELETE)
- 17. CrudRepository .delete()方法是否事务性?
- 18. 是否有“从......导入...”的性能优势?
- 19. http使用JSR 286的PUT和DELETE serveResource()
- 20. 是否有任何理由不在Web应用程序中使用HTTP PUT和DELETE?
- 21. 将SQL2000升级到SQL2005时是否具有性能优势?
- 22. 加密会话变量是否有任何安全优势?
- 23. ASP.NET Web Api“请求的资源不支持http方法PUT/DELETE”
- 24. WebView忽略调用PUT/DELETE Http方法的Javascript
- 25. make方法makeEvent()是否有任何优点是静态的?
- 26. 如何使用Apache2和PHP启用和使用HTTP PUT和DELETE?
- 27. 在不同的Web方法类型(GET,PUT,POST,DELETE,HEAD)的.NET框架中是否有任何常量?
- 28. 续集:性能优势还是只是为了方便?
- 29. MySQL枚举性能优势?
- 30. PUT/POST/DELETE方法的测试