Dokumen ini berlaku untuk metode berikut:
Permintaan pembaruan
Untuk mencegah kelebihan beban server dan mendapatkan manfaat dari perlindungan yang optimal, Update API (v4) memberlakukan interval waktu untuk seberapa sering klien dapat mengirim permintaan ke server Safe Browsing untuk lakukan pemeriksaan URL (fullHashes.find) atau untuk memperbarui {i>database<i} lokal (threatListUpdates.fetch).
Permintaan awal untuk data harus terjadi pada interval acak antara 0 dan 1 menit setelah klien memulai atau bangun. Permintaan berikutnya hanya dapat terjadi setelah durasi waktu tunggu minimum atau Batas waktu mode back-off telah diamati.
Durasi tunggu minimum
Baik
respons fullHashes.find dan
responsthreatListUpdates.fetch
memiliki kolom minimumWaitDuration
yang harus dipatuhi oleh klien.
Jika kolom minimumWaitDuration
tidak ditetapkan dalam respons, klien dapat
mengupdate sesering yang mereka inginkan dan mengirim permintaan threatListUpdates
atau fullHashes
sebanyak
yang mereka inginkan.
Jika kolom minimumWaitDuration
ditetapkan dalam respons, klien tidak dapat
diperbarui lebih sering dari
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
di skrip untuk menyiapkan database. (Perhatikan bahwa klien bisa memperbarui lebih jarang dari durasi tunggu minimum, tetapi
dapat berdampak negatif terhadap perlindungan.)
Mode back-off
Back-off otomatis berlaku untuk respons fullHashes.find dan responsthreatListUpdates.fetch.
Klien yang menerima respons HTTP yang gagal (yaitu, kode status HTTP apa pun selain
200 OK
) harus memasuki mode back-off. Setelah dalam mode {i>back-off<i}, klien harus menunggu waktu yang dihitung
durasi sebelum mereka dapat mengirimkan
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 harus dipilih setelah setiap pembaruan gagal.
Setelah klien menerima respons HTTP yang berhasil, klien harus keluar dari mode {i>back-off<i} dan mengikuti durasi tunggu minimum yang ditentukan di atas.