Contraintes de mise à jour

Ce document s'applique à la méthode suivante : API Update (v4) : threatListUpdates.fetch.

Définition des contraintes

Lors de la mise à jour de bases de données locales (voir Mises à jour de bases de données), les clients peuvent utiliser les champs maxUpdateEntries et maxDatabaseEntries de la requêtethreatListUpdates.fetch pour spécifier des contraintes de taille. Les clients doivent définir des contraintes pour maintenir la consommation prévisible de la RAM, du disque et de la bande passante du client, et pour éviter la croissance des listes.

  • Les clients peuvent spécifier une taille maximale de réponse de mise à jour (maxUpdateEntries) en nombre d'entrées (1 entrée = 1 ajout ou 1 suppression).
  • Les clients peuvent spécifier une taille maximale de base de données (maxDatabaseEntries) dans le nombre d'entrées (la grande majorité des entrées de la base de données sont des préfixes de hachage de 4 octets). Il est donc possible de supposer qu'une entrée d'environ 4 octets.

Bande passante et espace de stockage

Bien que les clients puissent spécifier des tailles arbitraires pour la réponse de mise à jour et les tailles de base de données, le serveur de navigation sécurisée ne génère à l'avance qu'un nombre limité de réponses de mise à jour et de tailles de base de données possibles.

  • Les clients doivent utiliser la taille de réponse de mise à jour (maxUpdateEntries) pour limiter l'utilisation de la bande passante.
  • Les clients doivent utiliser la taille de la base de données (maxDatabaseEntries) pour limiter la quantité de RAM ou d'espace de stockage sur disque nécessaire sur l'appareil.
Ces deux limites ont une incidence sur la taille de la base de données en cours de mise à jour et ont donc un impact sur le degré de protection fournie à l'utilisateur (c'est-à-dire que plus la taille de la base de données locale est importante, meilleure est la protection).

Conseils pour définir des contraintes

La taille des listes de navigation sécurisée peut changer progressivement ou soudainement. Les clients doivent définir la valeur maxUpdateEntries pour les requêtes de mise à jour de liste, ce qui limite la taille maximale de la réponse de mise à jour de liste et améliore la fiabilité lorsque des mises à jour volumineuses ne peuvent pas être traitées.

En l'absence d'exigences plus strictes ou moins strictes, Google recommande d'utiliser maxUpdateEntries=16777216. Avec une taille d'entrée de liste typique de 4 octets par préfixe de hachage, cela équivaut à environ 67 mégaoctets par liste. Google recommande d'utiliser la limite la plus faible de maxUpdateEntries=2097152 pour les clients mobiles, car elle est généralement moins puissante. Avec une taille d'entrée de liste habituelle de 4 octets par préfixe de hachage, cela équivaut à environ 8 mégaoctets par liste.

La taille et le taux de croissance des listes de navigation sécurisée diffèrent. Toutefois, les clients doivent définir les mêmes contraintes pour toutes les listes, en fonction de l'utilisation maximale de mémoire ou de bande passante autorisée pour chaque liste.

Pour améliorer la fiabilité, Google recommande aux clients de mettre en œuvre la télémétrie afin de détecter la surutilisation de la mémoire ou de la bande passante, ainsi que des mécanismes permettant de fournir rapidement de nouvelles contraintes aux clients.

État du client

Le serveur de navigation sécurisée n'envoie jamais de mise à jour qui laisse le client dans un état obsolète. Les clients sont entièrement à jour après chaque requête de mise à jour. Par exemple, si un client dispose actuellement d'une base de données de 4 096 entrées, mais ne souhaite télécharger que 2 048 deltas au maximum, le serveur peut réinitialiser le client sur une base de données 2 048 si le client est vraiment obsolète.