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

    Entrambi i campi risposta fullHashes.find e risposta dithreatListUpdates.fetch avere un campo minimumWaitDuration a cui i clienti devono obbedire.

    Se il campo minimumWaitDuration non è impostato nella risposta, i client possono aggiornano tutte le volte che vogliono e invianothreatListUpdatesfullHashes che desiderano.

    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 quel momento, anche se l'utente visita un URL il cui prefisso hash corrisponde alla query locale 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 al client (a partire da 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.