本文件適用於下列方法:
更新要求
為了避免伺服器超載並受益於最佳防護,Update API (v4) 會設定時間間隔,限制用戶端可傳送要求至安全瀏覽伺服器以執行網址檢查 (fullHashes.find) 或更新本機資料庫 (threatListUpdates.fetch) 的頻率。
初始資料要求必須在用戶端啟動或喚醒後的 0 到 1 分鐘之間隨機進行。只有在觀察到最短等待時間或輪詢模式時間限制後,系統才會執行後續要求。
最短等待時間
fullHashes.find 回應和 threatListUpdates.fetch 回應都有 minimumWaitDuration
欄位,供用戶端遵循。
如果未設定回應中的 minimumWaitDuration
欄位,用戶端可以按需求更新,並傳送任意數量的 threatListUpdates
或 fullHashes
要求。
如果回應中的 minimumWaitDuration
欄位已設定,用戶端的更新頻率將無法超過等待時間長度。舉例來說,如果 fullHashes
回應包含至少 1 小時的等待時間,則即便使用者造訪的雜湊前置字串與本機資料庫相符,用戶端也不得在該小時結束前傳送任何 fullHashes
要求。(請注意,用戶端更新的頻率可能會低於最短等待時間,但這可能會對防護造成負面影響)。
輪詢模式
自動輪詢適用於 fullHashes.find response 和 threatListUpdates.fetch 回應。
用戶端收到失敗 HTTP 回應 (也就是 200 OK
以外的任何 HTTP 狀態碼) 必須進入輪詢模式。進入輪詢模式後,用戶端必須等待計算出的時間時間長度,才能向伺服器發出其他要求。
用戶端必須使用以下公式計算輪詢時間長度:
MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)
N 代表用戶端體驗的連續失敗要求數量 (在第一次要求失敗後從 N=1 開始)。RAND 是介於 0 到 1 的隨機數字,必須在每次更新失敗後選取。
用戶端收到成功的 HTTP 回應後,用戶端必須結束輪詢模式,並遵循上方指定的最短等待時間。