Participa en la prueba de origen para la reducción de Accept-Language

Accept-Language Reduction es una iniciativa para reducir la creación de huellas digitales pasiva al reducir las preferencias de idioma del usuario en la Accept-Language y se enviará únicamente el idioma de preferencia del usuario (solo uno).

Comienza con Chrome 109 Beta, abriremos la prueba de origen para la reducción de idioma de aceptación, lo que permite que los sitios acepten recibir la Encabezado Accept-Language. Esto permitirá que los sitios descubran y solucionen problemas antes de que la reducción de Accept-Language se convierta en el comportamiento predeterminado en Chrome, de una en una versión futura. Para probar la función antes de su lanzamiento a población estable, asegúrate de habilitarlas y probarlas antes de la fecha de lanzamiento de Chrome 109 (actualmente, programado para el 10 de enero de 2023).

Consulta los ejemplos del encabezado Accept-Language antes y después de la reducción a continuación.

Actual
Accept-Language: en-GB,en;q=0.9,de;q=0.8,fr;q=0.7
Propuesta
Accept-Language: en-GB

A continuación, se muestra una descripción general de la prueba de origen y lo que sucederá. Puedes compartir tu comentarios sobre este cambio o cualquier problema que encuentres durante la prueba de origen en la sección Accept-Language Reduction GitHub Cloud Storage.

¿Qué es Accept-Language?

El Aceptar idioma de ese tipo se comparte en cada solicitud HTTP y se expone en JavaScript a todos recursos cargados por el navegador. Actualmente, contiene todos los datos idiomas preferidos.

¿Por qué se reducirá Accept-Language?

Accept-Language Reduction es una iniciativa para reducir la creación de huellas digitales pasiva plataformas de Chrome.

Actualmente, el encabezado Accept-Language se comparte de forma predeterminada en todas las solicitudes HTTP y se expone en JavaScript a todos los recursos que carga el navegador. Integra contiene todas las preferencias de idioma del usuario. En lugar de que el navegador envíe la lista completa de idiomas que el usuario configuró en caso de que los sitios deseen proporcionan contenido multilingüe, presentamos una nueva manera para que los sitios indiquen contenido multilingüe, y el navegador tendrá la responsabilidad de usar el idioma la negociación y mostrar el idioma preferido.

Otro motivo es que es posible que muchos sitios no usen los encabezados Accept-Language. para la negociación de idiomas (por ejemplo, una indica que solo el 7.2% del de los 10,000 sitios principales usan Accept-Language). El modo Incógnito de Chrome ya redujo la Accept-Language a uno.

¿Qué significa esto para los desarrolladores web?

Los sitios que dependen de Accept-Language para negociar el idioma deben prepárate para recibir una reducción de Accept-Language y considera participar en el prueba de origen. Los valores reducidos de Accept-Language aparecerán en la siguiente ubicación:

  • El encabezado de la solicitud HTTP Accept-Language
  • El método get de JavaScript navigator.languages.

El navegador se encargará de la negociación del idioma para seleccionar el el idioma preferido del usuario para enviar a los sitios. Para que esto suceda, los sitios deben agregar dos encabezados Variants (un encabezado nuevo indica los sitios que admiten idiomas) Accept-Language y Content-Language en de respuesta (consulta el ejemplo detallado a continuación).

Actualmente, los planes reducidos de Accept-Language no incluyen iOS ni WebView. y esas plataformas seguirán logrando que los usuarios lista completa de Accept-Language. Se planea admitir estas plataformas más adelante.

Prueba de origen para la reducción de Accept-Language

Una prueba de origen requiere que el sitio participante proporcione un token en su que le indica al navegador que habilite la prueba especificada. Sin embargo, significa que, en la solicitud inicial del navegador al sitio, no tiene forma de saber si el sitio participa en una prueba de origen. Esto significa que la de una sesión no enviará el Accept-Language header reducido. Las solicitudes de subrecursos de esa página, tanto de origen igual como de origen cruzado, recibir el encabezado Accept-Language reducido Navegaciones posteriores del mismo origen también recibirá el encabezado Accept-Language reducido. Navegaciones de origen cruzado volverá a enviar el encabezado completo, mientras que las solicitudes de origen cruzado dentro del página (como las solicitudes de iframe de terceros) enviarán la Accept-Language reducida. si la solicitud de marco de nivel superior tiene un token de prueba de origen válido.

Esto es similar a la prueba de origen de reducción de usuario-agente Si quieres obtener más información sobre la implementación interna de Chromium, obtén más información en Implementación de la reducción del encabezado HTTP Accept-Language.

Participar en la prueba de origen de la reducción de idioma para aceptar

Puedes leer más orientación en Comienza con las pruebas de origen de Chrome, pero los pasos esenciales se muestran a continuación.

Paso 1

Para registrarse en la prueba de origen y obtener un token para sus dominios, siga estos pasos: visita la Prueba para reducir la aceptación del idioma .

Paso 2

Actualiza los encabezados de respuesta HTTP:

  1. Agrega Origin-Trial: <ORIGIN TRIAL TOKEN> a tu respuesta HTTP encabezado, donde <ORIGIN TRIAL TOKEN> contiene el token que obtuviste cuando registrarse en la prueba de origen.
  2. Agrega Content-Language a tu encabezado de respuesta HTTP para indicar los idiomas dirigidos al público.
  3. Agrega Variants a tu encabezado de respuesta HTTP para indicar sitios idiomas admitidos.
  4. [Opcional] Agrega Vary: Accept-Language a tu respuesta HTTP a fin de crear una clave de caché para la negociación de contenido.
  5. La configuración de esos encabezados solo activará el idioma del navegador. la negociación (un posible reinicio de la solicitud inicial) para la origen. Para que los sitios muestren la representación del idioma correcta para los usuarios, también debe actualizar los sitios que envían el contenido según el encabezado Accept-Language del usuario (consulta el ejemplo a continuación).

Paso 3

Carga tu sitio web en Chrome M109 beta (o una versión posterior) y comienza a recibir el se redujo la cadena Accept-Language.

Envía cualquier problema o comentario al GitHub de Accept-Language Reduction. Cloud Storage.

Demostración

Para ver la demostración de un sitio multilingüe que aceptó la prueba de origen (junto con el código fuente) consulta https://reduce-accept-language.glitch.me/.

Para ver una demostración de cómo habilitar o inhabilitar la prueba de origen (junto con el código fuente) consulta https://reduce-accept-language-ot.glitch.me/.

Por ejemplo, example.com admite ja (japonés) y en (inglés). R puede ser la siguiente:

GET / HTTP/1.1
Host: example.com
Accept-Language: en

El sitio sabe que el usuario prefiere contenido en inglés, ya que se basa en la Accept-language. Los encabezados de respuesta pueden incluir lo siguiente:

HTTP/1.1 200 OK
Content-Language: en
Variants: Accept-Language=(en ja)
Origin-Token: a-valid-token

Si el usuario tiene preferencia por el contenido en japonés, la solicitud será la siguiente:

GET / HTTP/1.1
Host: example.com
Accept-Language: ja

En este caso, el sitio responde con encabezados para el contenido en japonés:

HTTP/1.1 200 OK
Content-Language: ja
Variants: Accept-Language=(en ja)
Origin-Token: a-valid-token

En el servidor, el sitio puede buscar soporte de lenguaje específico, pero y puede volver a un valor predeterminado si no se detecta compatibilidad:

if(accept_language == 'ja') {
    res
.response('ja_page')
}
else {
   res
.response('en_page')
}

En el ejemplo anterior, example.com responde en o ja según la Es un valor de Accept-Language, que se establece de forma predeterminada en en si no hay coincidencia. En este caso, el El sitio también puede redireccionar a las páginas en los idiomas correspondientes, ya sea /en o /ja según el valor Accept-Language. Consulta ejemplos detallados relacionados con redireccionamientos activados documento de implementación.

Asistencia para pruebas de origen de terceros

Por el momento, no se admite el registro de tus dominios como un de la prueba. Si operas un servicio que se implementa como un subrecurso en todos los orígenes (como la publicación de anuncios o las estadísticas), solo recibirás Encabezado Accept-Language si el sitio de nivel superior participa en el origen de Google Cloud.

Valida que la prueba de origen funcione

La guía para solución de problemas de las pruebas de origen de Chrome proporciona una lista de tareas completa para garantizar que tu token se haya configurado correctamente.

Configura varios idiomas y su prioridad desde chrome://settings/languages o Configuración → Idiomas. Considera la posibilidad de seleccionar idioma que tu sitio no admite y moverlo al principio de la lista para asegurarse de que se active la renegociación adicional.

Deberían verse los encabezados de la respuesta inicial que contienen el token de prueba de origen como:

Captura de pantalla del encabezado de la solicitud con el mensaje Accept-Language reducir.

Los encabezados de solicitud posteriores que contienen la Accept-Language reducido se ven de la siguiente manera:

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

Cómo dejar de participar en la prueba de origen

En cualquier momento durante la prueba, puede dejar de participar y recibir la lista completa de Accept-Language del usuario. Para dejar de participar, sigue estos pasos:

  1. Quita el encabezado Origin-Trial de Accept-Language Reduction a partir de tu respuesta HTTP.
  2. [Opcional] Quita el encabezado Variants que se agregó para habilitar el prueba de origen en tu respuesta HTTP si no quieres enviar este encabezado. También puedes usar Variants con un valor vacío para lograr esto.
  3. [Opcional] Quita el encabezado Content-Language que se agregó a habilita la prueba de origen en tu respuesta HTTP si no te interesa enviando este encabezado.

Duración de la prueba de origen

La prueba de origen para la reducción de idioma de Accept-Language se realizará durante al menos seis meses, lo que equivale a unos seis hitos de Chrome. Aparecerá la prueba de origen la versión M109 y la versión M114 (es decir, la última versión de Chrome que tiene la versión disponibles). En ese momento, Chrome evaluará los comentarios desde el origen de prueba antes de continuar con el envío de la cadena de Accept-Language reducida en un En etapas: primero, reduzca el encabezado HTTP Accept-Language y, luego, reduzca Interfaz de JS. Si un sitio necesita más tiempo para la prueba, puede habilitar una publicación baja, lo que les permitiría acceder a todas Accept-Language durante al menos seis meses más. Publicaremos más detalles sobre la prueba de baja cuando esté lista.

Compartir comentarios

Envía cualquier problema o comentario al GitHub de Accept-Language Reduction. Cloud Storage.