我的理解是,一個冪等的請求不會改變任何東西。如果有GET請求產生的副作用(例如,將請求緩存到搜索端點),它仍然是冪等的嗎?如果GET請求被緩存,它仍然是冪等的嗎?
0
A
回答
2
對於一個行爲是冪等的,你必須能夠重複它而不會造成額外的副作用。
在您的具體示例中,如果GET請求導致從外部源獲取數據,那麼問題實際上是關於該源的冪等性,但考慮到您提到搜索終結點將有可能。
在這種情況下,冪等性並不能保證您每次都會得到相同的結果,只要您可以根據需要多次調用端點而不影響系統。
編輯:一個反例:如果GET端點導致數據出現排隊,即從系統中刪除,使其無法再次檢索,那麼這將不是而是是冪等的。
0
是,
在描述中,緩存是在服務實現,而不是在GET水平或一些中間。
副作用是服務內部的,它不會更改將隨後調用返回的結果。
下得到一些背景的http://www.restapitutorial.com/lessons/httpmethods.html
相關問題
- 1. 對非冪等請求使用GET
- 2. $ httpBackend.flush()如果GET請求緩存
- 3. HTTP PUT過濾仍然是冪等的嗎?
- 4. 如果IE緩存已被緩存,則它不會從第二次開始向.cgi發送GET請求
- 5. 如果我的Web服務允許客戶端使用** POST **請求**刪除**,它仍然被認爲是RESTful嗎?
- 6. jQuery - 如何緩存$ .get請求
- 7. 儘管有字段GET請求,FieldStorage仍然是空的
- 8. GET方法如何冪等
- 9. 即使使用mathrandom,IE8仍然緩存我的請求
- 10. 如果拒絕請求,那麼提交仍然存在?
- 11. NSURLCacheStorageNotAllowed仍然緩存
- 12. 獲取請求緩存嗎?
- 13. GET請求緩存頁面響應
- 14. 用PHP緩存GET音頻請求
- 15. ASP.NET MVC Bundles debug = true並且結果仍然被緩存
- 16. 響應冪等HTTP POST請求
- 17. 被緩存的AJAX POST請求
- 18. 設置緩存控制:GET緩存請求
- 19. java是否緩存標準的GET請求?
- 20. ServiceStack:如何判斷請求的返回是否被緩存?
- 21. dealloc仍然被調用嗎?
- 22. PHP的session_start()是冪等的嗎?
- 23. POST請求被認爲是GET
- 24. FastCGI緩存鍵,同時忽略GET請求,但允許某些GET請求繞過緩存
- 25. cURL:POST請求被視爲GET
- 26. Ajax請求沒有被jQuery緩存
- 27. HTTP:如果重定向請求是GET請求,POST請求會收到302?
- 28. ASP的CSS頁面仍然會被緩存爲普通的CSS頁面嗎?
- 29. Python請求像它有緩存
- 30. 當類沒有實現IEnumerable時,GetEnumerator方法仍然是冪等的
對不起,我在我的問題忽略了一個重要的詞(「_caching_到端點的請求」)。但是,你似乎認爲ide is是在旁觀者的眼中 - 它更多地是關於返回給請求者的數據;服務api的系統狀態不是必須的*什麼定義冪等性? – doub1ejack