Niniejszy dokument dotyczy następujących metod:
Prośby o aktualizację
Aby zapobiec przeciążeniu serwerów i zapewnić optymalną ochronę, interfejs Update API (wersja 4) nakłada przedziały czasu, które określają, jak często klient może wysyłać żądania do serwera Bezpiecznego przeglądania w celu sprawdź adresy URL (fullHashes.find). lub zaktualizowanie lokalnej bazy danych (threatListUpdates.fetch).
Początkowe żądanie danych musi następować w losowym przedziale czasu od 0 do 1 minuty po gdy klient się włączy lub wybudzi. Kolejne żądania mogą być realizowane dopiero po minimalny czas oczekiwania lub Limit czasu trybu pozostania został przekroczony zaobserwowane.
Minimalny czas oczekiwania
Zarówno
fullHashes.find i
odpowiedź threatListUpdates.fetch
mają pole minimumWaitDuration
, którego klienci muszą przestrzegać.
Jeśli pole minimumWaitDuration
nie jest ustawione w odpowiedzi, klienci mogą
Aktualizuj tak często, jak sobie tego życzą, i wysyłaj tyle żądań threatListUpdates
lub fullHashes
, ile tylko chcesz
w dowolnym momencie.
Jeśli w odpowiedzi jest ustawione pole minimumWaitDuration
, klienty nie mogą
aktualizuj się częściej niż długość okresu oczekiwania. Jeśli na przykład odpowiedź fullHashes
zawiera minimalny czas oczekiwania wynoszący 1 godzinę, klient nie może wysyłać żadnych żądań fullHashes
aż do upłynięcia tej godziny, nawet jeśli użytkownik odwiedza adres URL, którego prefiks skrótu pasuje do lokalnego
w bazie danych. (Pamiętaj, że klienci mogą aktualizować dane z mniejszą częstotliwością niż minimalny czas oczekiwania, ale
może negatywnie wpłynąć na ochronę).
Tryb ponawiania
Automatyczne ponawianie działa w przypadku fullHashes.find i odpowiedź ThreatListUpdates.fetch.
Klienty, którzy otrzymają nieudaną odpowiedź HTTP (czyli dowolny kod stanu HTTP inny niż
200 OK
) musi przejść w tryb ponawiania. Po przejściu w tryb ponawiania klienty muszą czekać na obliczony czas
przed wysłaniem kolejnego żądania do serwera.
Klienci muszą użyć tej formuły, aby obliczyć czas do ponowienia:
MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)
N oznacza liczbę następujących po sobie nieudanych żądań, które zostały napotkane przez klienta (zaczyna się od N=1 po pierwszym nieudanym żądaniu). LOS to liczba losowa z zakresu od 0 do 1 który trzeba wybierać po każdej nieudanej aktualizacji.
Gdy klient otrzyma pomyślną odpowiedź HTTP, musi wyjść z trybu ponawiania i wykonać minimalny czas oczekiwania, opisane powyżej.