Proxy de préchargement privé dans Chrome pour les administrateurs réseau

Afin d'améliorer le temps de chargement des pages pour nos utilisateurs, Chrome précharge parfois des liens sur la page de résultats de recherche Google et sur d'autres sites Web participants avant que l'utilisateur ne clique dessus. Cette fonctionnalité est décrite en détail dans cet article d'un point de vue technique.

Cette fonctionnalité repose sur un proxy CONNECT, qui masque l'adresse IP de l'utilisateur sur le site Web devant être préchargé. Cela entraîne intrinsèquement l'établissement de la connexion hors de la vue des administrateurs réseau.

Cependant, nous sommes conscients que les administrateurs réseau peuvent avoir besoin de filtrer le contenu. Nous avons donc conçu un mécanisme permettant aux administrateurs réseau de continuer à le faire si l'utilisateur clique sur un lien préchargé.

Filtrage du contenu

Pour préserver la confidentialité des utilisateurs, Chrome n'émet aucune résolution DNS observable lors du préchargement des liens. Si l'utilisateur accède à un lien préchargé, les ressources de la page sont extraites du cache local sans effectuer de résolution DNS observable. Un effet secondaire est que le filtrage du contenu peut ne pas fonctionner comme prévu lorsque l'utilisateur accède à un lien préchargé.

Pour permettre aux administrateurs réseau de filtrer le contenu sur ces navigations préchargées, nous avons conçu un mécanisme de signalisation afin de demander à Chrome de lancer une résolution DNS lorsque l'utilisateur clique sur un lien préchargé. Cette résolution DNS s'effectue au même moment et de la même manière que si le préchargement n'avait pas eu lieu, offrant ainsi aux administrateurs la même possibilité de filtrer le contenu. Chrome suspend le chargement des ressources préchargées depuis le cache jusqu'à ce que cette deuxième résolution DNS aboutisse. En cas d'échec, Chrome n'utilise pas les ressources préchargées et charge la page normalement. Notez que cela entraîne une perte de performances pour l'utilisateur, car Chrome doit attendre la fin de la résolution DNS.

Détails du mécanisme de signalement

Pour les utilisateurs qui n'ont pas désactivé le préchargement des pages, Chrome lance de manière asynchrone une résolution DNS pour dns-tunnel-check.googlezip.net au démarrage de Chrome ou en cas de modification de l'interface réseau.

Voici les résultats possibles de la vérification dns-tunnel-check.googlezip.net:

  • Si la réponse est NXDOMAIN ou SERVFAIL, ou si un code de réponse NOERROR est renvoyé, mais ne contient ni enregistrement A, ni AAAA, Chrome comprend que les administrateurs réseau ont besoin de visibilité sur les navigations vers les pages préchargées (voir Mode préliminaire).
  • Si la réponse correspond à une autre valeur, Chrome utilise directement les ressources préchargées et n'effectue aucune résolution DNS supplémentaire lorsque l'utilisateur accède à la page préchargée.

Le résultat de cette vérification sera maintenu jusqu'au redémarrage de Chrome ou jusqu'à ce que l'interface réseau change, ce qui déclenche une nouvelle résolution DNS pour dns-tunnel-check.googlezip.net, avec un résultat potentiellement différent.

Mode test préliminaire

Dans ce mode, avant d'accéder à une page préchargée via le proxy de préchargement privé, Chrome lance une résolution DNS pour le domaine concerné et attend que la réponse soit renvoyée:

  • Si la réponse consiste en un ensemble d'adresses IP non vide, Chrome lance la navigation à l'aide des ressources préchargées.
  • Si la réponse est REFUSED (recommandé) ou NXDOMAIN, Chrome ne poursuivra pas la navigation et affichera à la place la page d'erreur DNS appropriée.