Phase d'évaluation pour la réduction user-agent

La réduction de l'User-Agent vise à réduire les surfaces de fingerprinting passif en limitant les informations de la chaîne User-Agent (UA) à la marque et à la version importante du navigateur, à la distinction entre ordinateur et mobile, et à la plate-forme sur laquelle il s'exécute. Actuellement, la chaîne UA est partagée pour chaque requête HTTP et exposée en JavaScript à toutes les ressources chargées par le navigateur. Il contient des informations importantes sur le navigateur, la plate-forme sur laquelle il s'exécute et ses fonctionnalités. Les indications client User-Agent (UA-CH) peuvent fournir les mêmes informations que la chaîne UA complète, tout en permettant aux sites de ne demander que les informations UA dont ils ont besoin.

À partir de la version bêta de Chrome 95, nous ouvrirons la phase d'évaluation pour la réduction de l'user-agent afin de permettre aux sites d'activer la réception de la chaîne UA réduite dès maintenant. Cela permettra aux sites de détecter et de résoudre les problèmes avant que la réduction de l'UA ne devienne le comportement par défaut dans Chrome (la réduction est prévue pour le deuxième trimestre 2022). Si vous souhaitez tester la phase d'évaluation de l'origine sur les utilisateurs de la version bêta de Chrome 95 avant son lancement auprès de la population stable, veillez à l'activer et à le tester avant la date de sortie de Chrome 95 (actuellement prévue pour le 19 octobre 2021).

Vous trouverez ci-dessous une présentation de l'essai Origin Trial et de ce à quoi vous devez vous attendre. Comme toujours, nous attendons vos commentaires ou vos problèmes pendant cet essai dans le dépôt GitHub de la réduction UA.

Qu'est-ce que l'User-Agent ?

La chaîne User-Agent (UA) est partagée pour chaque requête HTTP et exposée en JavaScript à toutes les ressources chargées par le navigateur. Actuellement, il contient des informations importantes sur le navigateur et la plate-forme sur laquelle il s'exécute.

Pourquoi l'user-agent est-il réduit ?

La réduction de l'User-Agent vise à réduire les surfaces de fingerprinting passif dans le navigateur Chrome. Elle a été annoncée pour la première fois en janvier 2020. En réduisant les informations de la chaîne UA à la marque et à la version importante du navigateur, à la distinction entre ordinateur et mobile, et à la plate-forme sur laquelle il s'exécute, il devient plus difficile d'identifier les utilisateurs individuels.

Qu'est-ce que cela signifie pour les développeurs Web ?

Les sites doivent se préparer à recevoir des chaînes UA réduites et envisager de participer à l'essai Origin Trial (détaillé ci-dessous). Les valeurs réduites de l'user-agent s'affichent dans les éléments suivants:

  • En-tête de requête HTTP User-Agent
  • Le getter JavaScript navigator.userAgent
  • Le getter JavaScript navigator.platform
  • Le getter JavaScript navigator.appVersion

Pour recevoir plus d'informations client que celles partagées par le user-agent réduit, les sites devront migrer vers la nouvelle API Client Hints pour user-agent. Pour en savoir plus sur les stratégies de migration, consultez Migrer vers les hints client user-agent.

Les plans de réduction de la chaîne user-agent n'incluent actuellement pas iOS et WebView. Par conséquent, ces plates-formes continueront de recevoir la chaîne user-agent complète. La raison principale est que ces plates-formes n'ont pas encore implémenté les hints client User-Agent.

Comment fonctionne ce test d'origine ?

Cet essai Origin Trial est un peu différent d'un essai Origin Trial standard. Les essais d'origine standards ne peuvent contrôler que le comportement dans la réponse (par exemple, contrôler l'accès à une API dans le code JavaScript de la réponse). Dans cet essai, notre objectif est non seulement de modifier la chaîne UA fournie dans les API JavaScript, mais aussi de modifier l'en-tête User-Agent envoyé dans la requête HTTP.

Pour ce faire, nous définissons un indice client temporaire, nommé Sec-CH-UA-Reduced, dont la présence dans une requête indique que la valeur de l'en-tête User-Agent contient la chaîne UA réduite. L'indice client Sec-CH-UA-Reduced n'est envoyé (avec la chaîne UA réduite) que si le jeton d'essai d'origine est valide. L'indice client Sec-CH-UA-Reduced ne fonctionnera pas une fois que l'essai d'origine expirera. N'oubliez pas que la première requête de navigation recevra toujours la chaîne User-Agent non réduite, sauf si vous définissez Critical-CH header.

Les requêtes de sous-ressource vers la même origine envoient automatiquement la même chaîne User-Agent que la requête de niveau supérieur. Les requêtes de sous-ressource vers des origines tierces envoient également la même chaîne User-Agent que la requête de niveau supérieur, y compris la chaîne UA réduite si le jeton d'essai de l'origine est valide, à condition que la politique d'autorisation l'autorise.

Comment participer à l'essai de réduction de la chaîne user-agent pour les origines ?

  1. Pour vous inscrire à la phase d'évaluation et obtenir un jeton pour vos domaines, accédez à la page de la phase d'évaluation pour la réduction de l'user-agent.

  2. Mettez à jour vos en-têtes de réponse HTTP:

    1. Ajoutez Origin-Trial: <ORIGIN TRIAL TOKEN> à l'en-tête de réponse HTTP, où <ORIGIN TRIAL TOKEN> contient le jeton que vous avez obtenu lors de l'inscription au test d'origine.
    2. Ajoutez Accept-CH: Sec-CH-UA-Reduced à votre en-tête de réponse HTTP.
    3. Le paramètre Accept-CH ne permet d'envoyer la chaîne user-agent réduite que dans les requêtes ultérieures à l'origine. Pour renvoyer la première requête de navigation avec la chaîne user-agent réduite, ajoutez Critical-CH: Sec-CH-UA-Reduced à votre en-tête de réponse HTTP, en plus des en-têtes Accept-CH et Origin-Trial.
    4. Remarque: Si les en-têtes de réponse contiennent un jeton Origin-Trial et Accept-CH: Sec-CH-UA-Reduced valides, toutes les requêtes de sous-ressources (par exemple, pour les images ou les feuilles de style) et les sous-navigations (par exemple, les iFrames) enverront la chaîne UA réduite, même si les origines de ces requêtes ne sont pas enregistrées dans le test d'origine.
  3. Chargez votre site Web dans Chrome M95 (ou version ultérieure) et commencez à recevoir la chaîne UA réduite.

  4. Signalez les problèmes ou envoyez vos commentaires au dépôt GitHub de la réduction de l'UA.

  5. Consultez https://uar-ot.glitch.me/ pour une démonstration simple du test de l'origine (avec le code source).

Comment participer à la phase d'évaluation de la fonctionnalité d'intégration tierce ?

À partir de Chrome 96, les éléments intégrés tiers (par exemple, un iFrame dans un autre site) peuvent participer à la phase d'évaluation de l'origine sans que le site de premier niveau ne soit inscrit.

Pour vous inscrire en tant qu'intégration tierce:

  1. Accédez à la page Essai de réduction de l'agent utilisateur, puis cliquez sur S'inscrire.
  2. Lorsque vous créez le jeton, veillez à cocher la case Third-party matching.
  3. Pour recevoir l'en-tête User-Agent réduit de l'intégration tierce, modifiez les en-têtes de réponse HTTP.
  4. Pour recevoir la chaîne user-agent réduite dans les API JavaScript, le jeton d'essai doit être injecté via JavaScript.

Quelques points importants concernant l'exécution du test d'origine sur les composants intégrés tiers : + Critical-CH ne peut pas être spécifié pour les composants intégrés tiers. La première navigation n'envoie donc pas la chaîne UA réduite, bien que les requêtes de sous-ressources du composant intégré tiers envoient la chaîne UA réduite. + Si l'essai Origin Trial est validé pour l'origine d'un élément intégré tiers, les requêtes ultérieures envoyées à la même origine dans une navigation de premier niveau enverront la chaîne UA réduite. C'est pourquoi nous vous recommandons d'augmenter progressivement la participation au test de l'origine pour les requêtes de niveau supérieur et d'intégration. + Si l'user-agent a désactivé les cookies tiers, la phase d'évaluation de l'origine ne fonctionnera pas pour l'en-tête User-Agent dans les requêtes d'intégration tierces, même si les API JavaScript recevront toujours la chaîne UA réduite.

Comment vérifier que l'aperçu de l'origine fonctionne ?

Pour vérifier que le test d'origine fonctionne, examinez les en-têtes de requête et assurez-vous que les éléments suivants sont respectés:

  1. L'en-tête User-Agent contient la version réduite. Consultez cette liste d'exemples de chaînes UA réduites. Pour le savoir facilement, vérifiez que la chaîne de version mineure de Chrome contient 0.0.0.
  2. L'en-tête Sec-CH-UA-Reduced est défini sur ?1.

Les en-têtes de la réponse initiale contenant le jeton d'essai d'origine doivent se présenter comme suit:

En-têtes de la réponse initiale contenant le jeton d&#39;essai d&#39;origine.

Les en-têtes de requêtes suivants contenant la chaîne UA réduite doivent se présenter comme suit:

En-têtes de requêtes suivants contenant la chaîne UA réduite.

Comment arrêter de participer à la phase d'évaluation de la réduction de la chaîne user-agent ?

À tout moment pendant la période d'essai, vous pouvez arrêter de participer et recevoir la chaîne User-Agent complète. Pour arrêter de participer:

  1. Envoyez un en-tête Accept-CH dans votre réponse HTTP qui n'inclut pas Sec-CH-UA-Reduced. Remarque: Accept-CH avec une valeur vide est un moyen valide d'y parvenir si votre site ne demande aucun autre indice client.
  2. Supprimez l'en-tête Origin-Trial de la phase d'évaluation de la réduction de l'user-agent de votre réponse HTTP.
  3. Si défini, supprimez Sec-CH-UA-Reduced de l'en-tête Critical-CH dans votre réponse HTTP.

Combien de temps durera le test de l'origine ?

L'essai Origin Trial pour la réduction UA durera au moins six mois, ce qui correspond à environ six versions intermédiaires de Chrome. La phase d'évaluation apparaîtra dans M95 et se terminera en M101. À ce stade, Chrome évaluera les commentaires de la phase d'évaluation avant d'envoyer la chaîne user-agent réduite par étapes, conformément au plan de déploiement. Si un site a besoin de plus de temps, il peut activer une phase d'évaluation de l'abandon ultérieure, ce qui lui permettra d'accéder à la chaîne UA complète pendant au moins six mois supplémentaires. Nous publierons plus d'informations sur le test de l'abandon lorsque celui-ci sera prêt.

Comment envoyer des commentaires sur la phase d'évaluation de la réduction de l'User-Agent ?

Signalez les problèmes ou envoyez vos commentaires au dépôt GitHub de la réduction de l'UA.