2012-11-26 57 views
0

有沒有辦法在純粹的 REST API上實現指數退避?你必須跟蹤某些狀態(例如IP地址,帳號),否?純REST和指數退避可能嗎?

+0

在REST中,可以在請求完成之前在服務器上保持狀態。在請求之間保持狀態並不好。你的問題太含糊,但如果你可以在一次調用中實現算法,那麼REST沒有任何問題。另外,什麼是「純」REST? :) – Slavo

+0

@Slavo「純」REST我的意思是服務器不保持請求之間的狀態,就像你說的。我並不是暗示REST有什麼問題,我只是想知道如何在不跟蹤請求之間的嘗試次數的情況下實現指數退避,因爲這會違反REST(除非它不是!)。 – surjikal

回答

1

就我而言,這是客戶端的責任實施退避政策。否則,正如你所說的,某種狀態必須保持,如檢查一個cookie,請求令牌等,現在

,根據這一定義,許多REST API不是因爲他們採取的請求令牌作爲參數並且可能會限制每小時或每天的通話次數,但這是折衷。

+0

我不同意退避是客戶的責任,因爲攻擊者可以簡單地使用任何其他客戶端來繞過限制。 – surjikal

+0

這是真的。如果你想能夠處理這個問題,那麼你就是爲了實際安全而交易理論純度。沒有什麼不對,但是你的請求在這一點上並不是冪等的 - 它們有延遲結果的任意副作用。 –