Prueba de origen de reducción de usuario-agente

La reducción de usuario-agente es un esfuerzo por reducir las plataformas de creación de huellas digitales pasivas, ya que reduce la información en la cadena Usuario-agente (UA) solo a la marca y la versión significativa del navegador, su distinción de computadora de escritorio o dispositivo móvil, y la plataforma en la que se ejecuta. Actualmente, la cadena 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. Las sugerencias del cliente de User-Agent (UA-CH) pueden proporcionar la misma información que la cadena 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 para permitir que los sitios acepten recibir la cadena de UA reducida ahora. Esto permitirá que los sitios descubran y corrijan problemas antes de que la UA reducida se convierta en el comportamiento predeterminado en Chrome (se planea que la reducción comience en el segundo trimestre de 2022). Si quieres probar la prueba de origen en usuarios de la versión beta 95 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 incluye una descripción general de la prueba de origen y lo que puedes esperar. Como siempre, recibimos con gusto los comentarios o los problemas que surjan durante esta prueba en el repositorio de GitHub de 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 reduce el usuario-agente?

La reducción de usuario-agente es un esfuerzo por reducir las plataformas de creación de huellas digitales pasivas en el navegador Chrome que se anunció por primera vez en enero de 2020. Si se reduce la información de la cadena UA solo a la marca y la versión significativa del navegador, su distinción de computadora de escritorio o dispositivo móvil, y la plataforma en la que se ejecuta, se vuelve más difícil identificar a los usuarios individuales.

¿Qué significa esto para los desarrolladores web?

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

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

Para recibir más información del cliente que 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 Cómo migrar a las Client Hints de usuario-agente.

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

¿Cómo funciona esta prueba de origen?

Esta prueba de origen es un poco diferente de 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 código JavaScript de la respuesta). En esta prueba, nuestro objetivo es no solo modificar la cadena de UA proporcionada en las APIs de JavaScript, sino también modificar el encabezado User-Agent que se envía en la solicitud HTTP.

Para poder hacerlo, definimos una sugerencia de cliente temporal, llamada Sec-CH-UA-Reduced, cuya presencia en una solicitud indicará que el valor del encabezado de usuario-agente contiene la cadena 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 de 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 cadena de usuario-agente sin reducir, a menos que configures Critical-CH header.

Las solicitudes de subrecursos al mismo origen enviarán automáticamente la misma cadena User-Agent que la solicitud de nivel superior. 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. Para registrarte en la prueba de origen y obtener un token para tus dominios, visita la página de prueba para la reducción de usuario-agente.

  2. Actualiza los encabezados de respuesta HTTP:

    1. Agrega Origin-Trial: <ORIGIN TRIAL TOKEN> a tu encabezado de respuesta HTTP, en el que <ORIGIN TRIAL TOKEN> contiene el token que obtuviste cuando te registraste para la prueba de origen.
    2. Agrega Accept-CH: Sec-CH-UA-Reduced a tu encabezado de respuesta HTTP.
    3. La configuración de Accept-CH solo hará que se envíe la cadena de usuario-agente reducida en las solicitudes posteriores al origen. Para volver a enviar la primera solicitud de navegación con la cadena de usuario-agente reducida, agrega Critical-CH: Sec-CH-UA-Reduced a tu 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 Accept-CH: Sec-CH-UA-Reduced válidos, todas las solicitudes de subrecursos (por ejemplo, para imágenes o hojas de estilo) y 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 UA reducida.

  4. Envía cualquier problema o comentario al repositorio de GitHub de UA Reduction.

  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 que se requiera que el sitio de nivel superior esté inscrito.

Para inscribirte como incorporación de terceros, sigue estos pasos:

  1. Visita la página de la prueba de la 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 a través de JavaScript.

A continuación, se incluyen 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 de UA reducida, aunque las solicitudes de recursos secundarios de la incorporación de terceros sí lo harán. + Si se valida la prueba de origen 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 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 obteniendo la cadena de UA reducida.

¿Cómo puedo validar que la prueba de origen funciona?

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

  1. El encabezado User-Agent contiene la versión reducida. Consulta esta lista de muestras de cadenas de UA reducidas. Una forma sencilla de saberlo es que la cadena de 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:

Los encabezados de la respuesta inicial que contienen el token de prueba de origen

Los encabezados de solicitud posteriores que contengan la cadena UA reducida deben tener el siguiente aspecto:

Encabezados de solicitud posteriores que contienen la cadena UA reducida

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

En cualquier momento durante la prueba, puedes dejar de participar y recibir la cadena completa del usuario-agente. 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 lograrlo si tu sitio no solicita ninguna otra sugerencia del cliente.
  2. Quita el encabezado Origin-Trial de la prueba de reducción de usuario-agente de tu respuesta HTTP.
  3. Si está configurado, 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 versiones de Chrome. La prueba de origen aparecerá en la M95 y finalizará en la M101. En ese momento, Chrome evaluará los comentarios de la prueba de origen antes de continuar con el envío de la cadena de usuario-agente reducida de forma gradual según el plan de lanzamiento. Si un sitio necesita más tiempo, puede habilitar una prueba de origen de baja posterior, que le permitirá acceder a la cadena 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 User-Agent?

Envía cualquier problema o comentario al repositorio de GitHub de UA Reduction.