Este documento se aplica aos seguintes métodos:
Solicitações de atualização
Para evitar a sobrecarga do servidor e aproveitar a proteção ideal, a API Update (v4) impõe intervalos de tempo para a frequência com que um cliente pode enviar solicitações ao servidor da Navegação segura para realizar verificações de URL (fullHashes.find) ou atualizar o banco de dados local (threatListUpdates.fetch).
A solicitação inicial de dados precisa ocorrer em um intervalo aleatório entre 0 e 1 minuto após o cliente ser iniciado ou ativado. As solicitações seguintes só podem acontecer depois que o limite de tempo da duração mínima de espera ou do modo de espera for observado.
Duração mínima de espera
Tanto a
resposta fullHashes.find quanto a
resposta threatListUpdates.fetch
têm um campo minimumWaitDuration
que os clientes precisam obedecer.
Se o campo minimumWaitDuration
não estiver definido na resposta, os clientes poderão atualizar com a frequência que quiserem e enviar quantas solicitações threatListUpdates
ou fullHashes
quiserem.
Se o campo minimumWaitDuration
for definido na resposta, os clientes não poderão atualizar com mais frequência do que a duração da espera. Por exemplo, se uma resposta fullHashes
tiver uma duração de espera mínima de 1 hora, o cliente não poderá enviar solicitações fullHashes
até que essa hora tenha passado, mesmo que o usuário esteja visitando um URL cujo prefixo de hash corresponda ao
banco de dados local. Os clientes podem atualizar com menos frequência do que a duração mínima de espera, mas isso pode afetar negativamente a proteção.
Modo de retirada
A retirada automática se aplica à resposta completaHashes.find e à resposta threatListUpdates.fetch.
Os clientes que recebem uma resposta HTTP malsucedida (ou seja, qualquer código de status HTTP diferente de
200 OK
) precisam entrar no modo de espera. No modo de espera, os clientes precisam aguardar o tempo
calculado antes de emitir outra solicitação ao servidor.
Os clientes precisam usar a seguinte fórmula para calcular a duração do tempo de espera:
MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)
N corresponde ao número de solicitações consecutivas e malsucedidas que o cliente enfrenta (começando com N=1 após a primeira solicitação malsucedida). RAND é um número aleatório entre 0 e 1 que precisa ser escolhido após cada atualização malsucedida.
Quando um cliente recebe uma resposta HTTP bem-sucedida, ele precisa sair do modo de espera e seguir a duração mínima de espera especificada acima.