特別是對於大多數不支持它的瀏覽器,除了嚴格的標準遵從性之外還有什麼可以證明額外的開發時間?使用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