Dokumen ini berlaku untuk metode berikut:
Perbarui permintaan
Untuk mencegah kelebihan beban server dan mendapatkan manfaat dari perlindungan yang optimal, Update API (v4) menetapkan interval waktu terkait seberapa sering klien dapat mengirim permintaan ke server Safe Browsing untuk melakukan pemeriksaan URL (fullHashes.find) atau memperbarui database lokal (threatListUpdates.fetch).
Permintaan awal untuk data harus terjadi pada interval acak antara 0 dan 1 menit setelah klien dimulai atau aktif. Permintaan berikutnya hanya dapat terjadi setelah batas waktu durasi tunggu minimum atau mode back-off diamati.
Durasi tunggu minimum
respons fullHashes.find dan respons threatListUpdates.fetch memiliki kolom minimumWaitDuration
yang harus dipatuhi klien.
Jika kolom minimumWaitDuration
tidak ditetapkan dalam respons, klien dapat melakukan update sesering yang mereka inginkan dan mengirim permintaan threatListUpdates
atau fullHashes
sebanyak yang mereka inginkan.
Jika kolom minimumWaitDuration
disetel dalam respons, klien tidak dapat memperbarui lebih sering daripada panjang durasi tunggu. Misalnya, jika respons fullHashes
berisi durasi tunggu minimum 1 jam, klien tidak boleh mengirim permintaan fullHashes
apa pun hingga jam tersebut berlalu, meskipun pengguna mengunjungi URL yang awalan hash-nya cocok dengan database lokal. (Perhatikan bahwa klien dapat memperbarui lebih jarang dari durasi tunggu minimum, tetapi hal ini
dapat berdampak negatif pada perlindungan.)
Mode back-off
Back-off otomatis berlaku untuk respons fullHashes.find dan respons threatListUpdates.fetch.
Klien yang menerima respons HTTP yang gagal (yaitu, kode status HTTP apa pun selain 200 OK
) harus memasuki mode back-off. Setelah berada dalam mode back-off, klien harus menunggu durasi waktu yang dihitung sebelum dapat mengeluarkan permintaan lain ke server.
Klien harus menggunakan formula berikut untuk menghitung durasi waktu back-off:
MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)
N sesuai dengan jumlah permintaan berturut-turut dan gagal yang dialami klien (dimulai dengan N=1 setelah permintaan pertama yang gagal). RAND adalah angka acak antara 0 dan 1 yang perlu dipilih setelah setiap update yang gagal.
Setelah klien menerima respons HTTP yang berhasil, klien harus keluar dari mode back-off dan mengikuti durasi tunggu minimum yang ditetapkan di atas.