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 sobre la frecuencia con la que un cliente puede enviar solicitudes al servidor de Navegación segura para realizar verificaciones de URL (fullHashes.find). o para actualizar la base de datos local (threatListUpdates.fetch).

    La solicitud inicial de datos debe ocurrir a un intervalo aleatorio entre 0 y 1 minuto después del antes de que inicie o se active. Las solicitudes posteriores pueden ocurrir solo después de que duración de espera mínima o Se estableció el límite de tiempo del modo de retirada observadas.

    Duración de espera mínima

    Tanto el Respuesta de fullHashes.find y Respuesta de threatListUpdates.fetch tienes un campo minimumWaitDuration que los clientes deben cumplir.

    Si no se configura el campo minimumWaitDuration en la respuesta, los clientes pueden actualizar con la frecuencia que desee y enviar tantas solicitudes threatListUpdates o fullHashes como que desean.

    Si se configura el campo minimumWaitDuration en la respuesta, los clientes no pueden se actualizan con mayor frecuencia que 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 transcurra esa hora, incluso si el usuario visita una URL cuyo prefijo de hash coincide con el en la base de datos. (ten en cuenta que los clientes pueden actualizar con menos frecuencia que la duración de espera mínima, pero este podría afectar la protección de forma negativa).

    Modo de retirada

    La retirada automática se aplica Respuesta de fullHashes.find y Respuesta de threatListUpdates.fetch.

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

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

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

    N corresponde a la cantidad de solicitudes consecutivas y fallidas que experimenta el cliente. (comienza con N=1 después de la primera solicitud incorrecta). RAND es un número aleatorio entre 0 y 1. que debes seleccionar después de cada actualización incorrecta.

    Una vez que un cliente recibe una respuesta HTTP exitosa, debe salir del modo de retirada y seguir la duración de espera mínima especificadas anteriormente.