Frecuencia de solicitud

Este documento se aplica a los siguientes métodos:

  • API de Update (v4): fullHashes.find
  • API de Update (v4): threatListUpdates.fetch
  • Solicitudes de actualización

    Para evitar la sobrecarga del servidor y aprovechar una protección óptima, la API de Update (v4) impone intervalos de tiempo según la frecuencia con la que un cliente puede enviar solicitudes al servidor de Navegación segura para realizar verificaciones de URL (fullHashes.find) o actualizar la base de datos local (threatListUpdates.fetch).

    La solicitud inicial de datos debe ocurrir en un intervalo aleatorio entre 0 y 1 minuto después de que se inicie o se active el cliente. Las solicitudes posteriores pueden ocurrir solo después de que se haya observado el límite de tiempo de la duración mínima de espera o el modo de espera.

    Duración mínima de espera

    La respuesta fullHashes.find y la respuestathreatListUpdates.fetch tienen un campo minimumWaitDuration que los clientes deben cumplir.

    Si el campo minimumWaitDuration no se establece en la respuesta, los clientes pueden actualizarse con la frecuencia que deseen y enviar todas las solicitudes de threatListUpdates o fullHashes que deseen.

    Si el campo minimumWaitDuration se establece en la respuesta, los clientes no pueden actualizar con mayor frecuencia que la duración de la duración de la espera. Por ejemplo, si una respuesta fullHashes contiene una duración de espera mínima de 1 hora, el cliente no debe enviar ninguna solicitud fullHashes hasta que pase esa hora, incluso si el usuario visita una URL cuyo prefijo de hash coincida con la base de datos local. (Ten en cuenta que los clientes pueden actualizarse con menos frecuencia que la duración de espera mínima, pero esto puede afectar negativamente la protección).

    Modo de retirada

    La retirada automática se aplica a la respuesta fullHashes.find y a threatListUpdates.fetch.

    Los clientes que reciben una respuesta HTTP con errores (es decir, cualquier código de estado HTTP que no sea 200 OK) deben entrar en el modo de retirada. Una vez en el modo de retirada, los clientes deben esperar el tiempo calculado antes de poder emitir otra solicitud al servidor.

    Los clientes deben usar la siguiente fórmula para calcular la duración del tiempo de espera:

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

    N corresponde a la cantidad de solicitudes consecutivas sin éxito que experimenta el cliente (comienza con N=1 después de la primera solicitud incorrecta). RAND es un número al azar entre 0 y 1 que se debe elegir después de cada actualización incorrecta.

    Una vez que un cliente recibe una respuesta HTTP correcta, debe salir del modo de retirada y seguir la duración mínima de espera que se especificó antes.