Dieses Dokument bezieht sich auf die folgenden Methoden:
Aktualisierungs-Anfragen
Die Update API (v4) legt Zeitintervalle fest, mit denen ein Client Anfragen an den Safe Browsing-Server senden kann, um URL-Prüfungen (fullHashes.find) oder die Aktualisierung der lokalen Datenbank (threatListUpdates.fetch) durchzuführen. So lassen sich Serverüberlastungen vermeiden und der Schutz ist optimal.
Die erste Datenanfrage muss in einem zufälligen Intervall zwischen 0 und 1 Minute nach dem Start oder der Aktivierung des Clients erfolgen. Nachfolgende Anfragen können erst gesendet werden, nachdem die Mindestwartedauer oder das Zeitlimit für den Backoff-Modus eingehalten wurde.
Mindestwartezeit
Sowohl die fullHashes.find-Antwort als auch die threatListUpdates.fetch-Antwort haben ein minimumWaitDuration
-Feld, das von Clients befolgt werden muss.
Wenn das Feld minimumWaitDuration
in der Antwort nicht festgelegt ist, können Clients so oft wie gewünscht aktualisieren und so viele threatListUpdates
- oder fullHashes
-Anfragen senden, wie sie möchten.
Wenn das Feld minimumWaitDuration
in der Antwort festgelegt ist, können Clients nicht häufiger als die Länge der Wartezeit aktualisieren. Wenn eine fullHashes
-Antwort beispielsweise eine Mindestwartezeit von 1 Stunde enthält, darf der Client erst nach Ablauf dieser Stunde fullHashes
-Anfragen senden, auch wenn der Nutzer eine URL aufruft, deren Hash-Präfix mit der lokalen Datenbank übereinstimmt. (Beachten Sie, dass Clients seltener als die Mindestwartezeit aktualisiert werden, dies kann sich jedoch negativ auf den Schutz auswirken.)
Backoff-Modus
Der automatische Backoff gilt sowohl für die fullHashes.find-Antwort als auch für die threatListUpdates.fetch-Antwort.
Clients, die eine fehlgeschlagene HTTP-Antwort erhalten (d. h. einen anderen HTTP-Statuscode als 200 OK
), müssen in den Backoff-Modus wechseln. Im Backoff-Modus müssen Clients die berechnete Zeit abwarten, bevor sie eine weitere Anfrage an den Server senden können.
Clients müssen die folgende Formel verwenden, um die Backoff-Zeitdauer zu berechnen:
MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)
N entspricht der Anzahl der aufeinanderfolgenden, fehlgeschlagenen Anfragen, die vom Client ausgeführt werden (beginnend mit N=1 nach der ersten fehlgeschlagenen Anfrage). RAND ist eine Zufallszahl zwischen 0 und 1, die nach jeder erfolglosen Aktualisierung ausgewählt werden muss.
Sobald ein Client eine erfolgreiche HTTP-Antwort erhält, muss er den Backoff-Modus beenden und die oben angegebene Mindestwartezeit einhalten.