Prueba de origen de reducción de usuario-agente

La reducción de usuario-agente es un esfuerzo por reducir las superficies de creación de huellas digitales pasivas mediante la reducción de la información en la cadena User-Agent (UA) solo a la marca y la versión significativa del navegador, a su distinción de computadora de escritorio o dispositivo móvil, y a la plataforma en la que se ejecuta. Actualmente, la cadena de UA se comparte en cada solicitud HTTP y se expone en JavaScript a todos los recursos que carga el navegador. Contiene información significativa sobre el navegador, la plataforma en la que se ejecuta y sus capacidades. User-Agent Client Hints (UA-CH) puede proporcionar la misma información que la cadena de UA completa y, al mismo tiempo, permitir que los sitios solo soliciten la información de UA que necesitan.

A partir de la versión beta de Chrome 95, abriremos la prueba de origen para la reducción de usuario-agente a fin de permitir que los sitios acepten recibir la cadena de UA reducida ahora. Esto permitirá que los sitios descubran y solucionen problemas antes de que la reducción de UA se convierta en el comportamiento predeterminado en Chrome (se prevé que la reducción comience el segundo trimestre de 2022). Si deseas probar la prueba de origen en 95 usuarios de la versión beta antes de que se lance a la población estable, asegúrate de habilitarla y probarla antes de la fecha de lanzamiento de Chrome 95 (programada actualmente para el 19 de octubre de 2021).

A continuación, se muestra una descripción general de la prueba de origen y lo que puedes esperar y, como siempre, recibiremos comentarios o cualquier problema que tengas durante esta prueba en el repositorio de GitHub sobre la reducción de UA.

¿Qué es el usuario-agente?

La cadena User-Agent (UA) se comparte en cada solicitud HTTP y se expone en JavaScript a todos los recursos que carga el navegador. Actualmente, contiene información significativa sobre el navegador y la plataforma en la que se ejecuta.

¿Por qué se redujo el usuario-agente?

La reducción de usuario-agente es una iniciativa para reducir las plataformas de creación de huellas digitales pasivas en el navegador Chrome que se anunció por primera vez en enero de 2020. Cuando se reduce la información en la cadena de UA solo a la marca y a la versión significativa del navegador, a la distinción entre computadoras y dispositivos móviles, y a la plataforma en la que se ejecuta, se hace más difícil identificar usuarios individuales.

¿Qué significa esto para los desarrolladores web?

Los sitios deben prepararse para recibir cadenas de UA reducidas y considerar participar en la prueba de origen (detallada a continuación). Los valores reducidos del usuario-agente aparecerán de la siguiente manera:

  • El encabezado de la solicitud HTTP User-Agent
  • El método get navigator.userAgent de JavaScript
  • El método get navigator.platform de JavaScript
  • El método get navigator.appVersion de JavaScript

Para recibir más información del cliente de la que comparte el usuario-agente reducido, los sitios deberán migrar a la nueva API de Client Hints de usuario-agente. Para obtener más detalles sobre las estrategias de migración, consulta Migra a User-Agent Client Hints.

Por el momento, los planes de reducción de usuario-agente no incluyen iOS ni WebView, por lo que esas plataformas seguirán recibiendo la cadena completa de usuario-agente. El motivo principal es que estas plataformas aún no implementaron Client Hints de usuario-agente.

¿Cómo funciona esta prueba de origen?

Esta prueba de origen es un poco diferente a una prueba de origen estándar. Las pruebas de origen estándar solo pueden controlar el comportamiento en la respuesta (por ejemplo, controlar el acceso a una API en el JavaScript de la respuesta). En esta prueba, nuestro objetivo no solo es modificar la cadena de UA proporcionada en las APIs de JavaScript, sino también modificar el encabezado de usuario-agente que se envía en la solicitud HTTP.

Para ello, definiremos una sugerencia temporal de cliente, llamada Sec-CH-UA-Reduced, cuya presencia en una solicitud indicará que el valor del encabezado de usuario-agente contiene la string de UA reducida. La sugerencia de cliente Sec-CH-UA-Reduced solo se enviará (junto con la cadena de UA reducida) si el token de prueba de origen es válido y la sugerencia del cliente Sec-CH-UA-Reduced no funcionará una vez que venza la prueba de origen. Ten en cuenta que la primera solicitud de navegación seguirá recibiendo la string de usuario-agente no reducida, a menos que configures Critical-CH header.

Las solicitudes de subrecursos al mismo origen enviarán automáticamente la misma cadena de usuario-agente que la solicitud de nivel superior enviada. Las solicitudes de subrecursos a orígenes de terceros también enviarán la misma cadena de usuario-agente que la solicitud de nivel superior, incluida la cadena de UA reducida si el token de prueba de origen es válido, siempre que la política de permisos lo permita.

¿Cómo puedo participar en la prueba de origen de la reducción de usuario-agente?

  1. Si quieres registrarte para la prueba de origen y obtener un token para tus dominios, visita la página Pruebas para la reducción de usuario-agente.

  2. Actualiza tus encabezados de respuesta HTTP:

    1. Agrega Origin-Trial: <ORIGIN TRIAL TOKEN> al encabezado de respuesta HTTP, en el que <ORIGIN TRIAL TOKEN> contiene el token que obtuviste cuando te registraste en la prueba de origen.
    2. Agrega Accept-CH: Sec-CH-UA-Reduced al encabezado de respuesta HTTP.
    3. La configuración de Accept-CH solo hará que se envíe la string de usuario-agente reducida en las solicitudes posteriores al origen. Para que se vuelva a enviar la primera solicitud de navegación con la string de usuario-agente reducida, agrega Critical-CH: Sec-CH-UA-Reduced al encabezado de respuesta HTTP, además de los encabezados Accept-CH y Origin-Trial.
    4. Nota: Si los encabezados de respuesta contienen un token Origin-Trial y un Accept-CH: Sec-CH-UA-Reduced válidos, todas las solicitudes de subrecursos (por ejemplo, hojas de estilo o imágenes) y las subnavegaciones (por ejemplo, iframes) enviarán la cadena de UA reducida, incluso si los orígenes de esas solicitudes no están inscritos en la prueba de origen.
  3. Carga tu sitio web en Chrome M95 (o una versión posterior) y comienza a recibir la cadena de UA reducida.

  4. Envía cualquier problema o comentario al repositorio de GitHub de reducción de UA.

  5. Consulta https://uar-ot.glitch.me/ para ver una demostración simple de la prueba de origen (junto con el código fuente).

¿Cómo participar en la prueba de origen como incorporación de terceros?

A partir de Chrome 96, las incorporaciones de terceros (por ejemplo, un iframe dentro de otro sitio) pueden participar en la prueba de origen sin necesidad de que se inscriba el sitio de nivel superior.

Si quieres inscribirte como una incorporación de terceros, sigue estos pasos:

  1. Visita la prueba de reducción de usuario-agente y haz clic en Registrarse.
  2. Cuando crees el token, asegúrate de seleccionar la casilla de verificación Third-party matching.
  3. Para recibir el encabezado de usuario-agente reducido de la incorporación de terceros, actualiza los encabezados de respuesta HTTP.
  4. Para recibir la cadena de usuario-agente reducida en las APIs de JavaScript, el token de prueba se debe inyectar mediante JavaScript.

Algunos puntos importantes sobre la ejecución de la prueba de origen en incorporaciones de terceros: + No se puede especificar Critical-CH para incorporaciones de terceros, por lo que la primera navegación no enviará la cadena UA reducida, aunque las solicitudes de subrecursos de la incorporación de terceros sí lo harán. + Si la prueba de origen se valida para el origen de una incorporación de terceros, las solicitudes posteriores al mismo origen en una navegación de nivel superior enviarán la cadena de UA reducida. Por este motivo, se recomienda aumentar la participación en la prueba de origen para las solicitudes de nivel superior y las de incorporación. + Si el usuario-agente inhabilitó las cookies de terceros, la prueba de origen no funcionará para el encabezado User-Agent en las solicitudes de incorporación de terceros, aunque las APIs de JavaScript seguirán recibiendo la cadena de UA reducida.

¿Cómo valido que la prueba de origen esté funcionando?

Para validar que la prueba de origen funcione, examina los encabezados de la solicitud y asegúrate de que se cumpla lo siguiente:

  1. El encabezado User-Agent contiene la versión reducida. Consulta esta lista de muestras de cadenas de UA reducidas. Una manera fácil de saber es que la cadena de la versión secundaria de Chrome contiene 0.0.0.
  2. El encabezado Sec-CH-UA-Reduced se establece en ?1.

Los encabezados de la respuesta inicial que contienen el token de prueba de origen deberían verse de la siguiente manera:

Encabezados de la respuesta inicial que contienen el token de prueba de origen.

Los encabezados de solicitudes posteriores que contengan la cadena de UA reducida deberían verse de la siguiente manera:

Encabezados de las solicitudes posteriores que contienen la cadena de UA reducida

¿Cómo dejo de participar en la prueba de origen de la reducción de usuario-agente?

En cualquier momento de la prueba, puedes dejar de participar y recibir la string de usuario-agente completa. Para dejar de participar, sigue estos pasos:

  1. Envía un encabezado Accept-CH en tu respuesta HTTP que no incluya Sec-CH-UA-Reduced. Nota: Accept-CH con un valor vacío es una forma válida de lograr esto si tu sitio no solicita ninguna otra sugerencia de Client Hints.
  2. Quita el encabezado Origin-Trial de la prueba de reducción de usuario-agente de tu respuesta HTTP.
  3. Si se configura, quita Sec-CH-UA-Reduced del encabezado Critical-CH en tu respuesta HTTP.

¿Cuánto durará la prueba de origen?

La prueba de origen de la reducción de UA se ejecutará durante al menos seis meses, lo que corresponde a alrededor de seis eventos importantes de Chrome. La prueba de origen aparecerá en M95 y finalizará en M101. En ese momento, Chrome evaluará los comentarios de la prueba antes de continuar con el envío de la cadena de usuario-agente reducida de manera gradual según el plan de lanzamiento. Si un sitio necesita más tiempo, puede habilitar una prueba de origen de baja posterior, lo que le permitiría acceder a la cadena de UA completa durante al menos otros seis meses. Publicaremos más detalles sobre la prueba de baja cuando esté lista.

¿Cómo puedo compartir comentarios sobre la prueba de origen de la reducción de usuario-agente?

Envía cualquier problema o comentario al repositorio de GitHub de reducción de UA.