Frequenza delle richieste

Questo documento si applica ai seguenti metodi:

  • API Update (v4): fullHashes.find
  • API Update (v4): threatListUpdates.fetch
  • Richieste di aggiornamento

    Per evitare il sovraccarico del server e trarre vantaggio da una protezione ottimale, l'API Update (v4) impone gli intervalli di tempo relativi alla frequenza con cui un client può inviare richieste al server di Navigazione sicura per esegui controlli degli URL (fullHashes.find) o aggiornare il database locale (threatListUpdates.fetch).

    La richiesta iniziale di dati deve avvenire a un intervallo casuale compreso tra 0 e 1 minuto dopo il che il client si avvia o si riattiva. Le richieste successive possono verificarsi solo dopo durata minima di attesa oppure Il limite di tempo per la modalità backoff è stato osservati.

    Durata minima di attesa

    Sia la risposta fullHashes.find sia la risposta threatListUpdates.fetch hanno un campo minimumWaitDuration a cui i client devono attenersi.

    Se il campo minimumWaitDuration non è impostato nella risposta, i client possono eseguire l'aggiornamento con la frequenza che preferiscono e inviare tutte le richieste threatListUpdates o fullHashes che vogliono.

    Se il campo minimumWaitDuration è impostato nella risposta, i client non possono vengono aggiornate più di frequente rispetto alla durata dell'attesa. Ad esempio, se una risposta fullHashes contiene una durata minima di attesa di 1 ora, il client non deve inviare richieste fullHashes fino a quando non è trascorsa tale ora, anche se l'utente visita un URL il cui prefisso hash corrisponde al per configurare un database. Tieni presente che i client possono eseguire gli aggiornamenti con minore frequenza rispetto alla durata minima di attesa, ma questo ciò potrebbe influire negativamente sulla protezione.

    Modalità back-off

    Il backoff automatico si applica sia risposta fullHashes.find e risposta dithreatListUpdates.fetch.

    Client che ricevono una risposta HTTP non riuscita (ovvero qualsiasi codice di stato HTTP diverso da 200 OK) deve attivare la modalità back-off. In modalità back-off, i client devono attendere il tempo calcolato prima di poter inviare un'altra richiesta al server.

    Per calcolare la durata del tempo di backoff, i client devono utilizzare la formula seguente:

    MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)

    N corrisponde al numero di richieste consecutive non riuscite che il client riceve (iniziando con N=1 dopo la prima richiesta non riuscita). RAND è un numero casuale compreso tra 0 e 1 che deve essere scelto dopo ogni aggiornamento non riuscito.

    Quando un client riceve una risposta HTTP positiva, deve uscire dalla modalità back-off e seguire La durata minima di attesa sopra specificati.