大多數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. 泛型方法vs非泛型方法 - 是否有任何性能優勢?
- 2. Django窗體PUT和DELETE http方法
- 3. Silverlight是否比JavaScript有性能優勢?
- 4. 使用'unreachable!`vs`panic!`是否有任何性能優勢?
- 5. JavaScript:停止事件傳播是否有任何性能優勢?
- 6. .NET中的「鏈接」語句是否有任何性能優勢?
- 7. 是否有任何優勢有子域
- 8. C# - 是否有任何額外的優勢,在方法
- 9. 任何獲取HTTP GET,POST,PUT,DELETE常量的方法?
- 10. 私人會員是否添加任何性能優勢?
- 11. 編碼這種或那種方式是否有性能優勢?
- 12. 如何覆蓋Flask模塊中PUT和DELETE的HTTP方法?
- 13. mod_rewrite:如何重定向HTTP DELETE和PUT
- 14. 在休眠標準中使用readOnly是否有任何性能優勢?
- 15. 在數組上迭代使用Arrays.stream()是否有任何性能優勢?
- 16. 排序CSS屬性是否有性能優勢?
- 17. 組織方法和功能在組織方法和功能方面是否有優勢?
- 18. Silverlight:使用RestSharp的HTTP DELETE和PUT方法
- 19. 除POST,PUT,DELETE,GET之外還有其他的HTTP方法
- 20. Ejabberd的REST服務; DELETE和PUT方法
- 21. ExpressJS Object PUT,DELETE沒有方法'toLowerCase'
- 22. CrudRepository .delete()方法是否事務性?
- 23. 是否有「從......導入...」的性能優勢?
- 24. 如何禁用不安全的http方法(OPTIONS,PUT,DELETE)
- 25. http使用JSR 286的PUT和DELETE serveResource()
- 26. javascript - PUT,DELETE和CRUD
- 27. 將SQL2000升級到SQL2005時是否具有性能優勢?
- 28. 當框架未重繪時,是否有性能優勢?
- 29. Angular的組件風格封裝是否有性能優勢?
- 30. 預呈現HTML5畫布圈子是否具有性能優勢?