Summary
- El RFC 2068 de HTTP/1.1, publicado en enero de 1997, documentó
Accept-Language: una lista de idiomas aceptables con pesos de preferencia. Vary: Accept-Languagepermite al servidor avisar a las cachés de que la versión elegida depende del idioma pedido; la siguiente solicitud debe compararse antes de reutilizarla.
El ejemplo del RFC 2068 de enero de 1997 parece una orden en un restaurante: danés primero, inglés británico después, otras variedades de inglés en tercer lugar. Los valores q afinan la preferencia. El navegador puede llevar esa información en la propia petición, sin obligar a la persona a visitar primero una página de selección de idioma. El servidor recibe la dirección y una pista sobre cómo responder.
Supongamos que /news tiene varias ediciones. Una visitante pide danés y el servidor se lo entrega. Una caché guarda el resultado. El siguiente visitante escribe la misma URL, pero su navegador prefiere francés. Si la caché recuerda solo /news, tiene una respuesta veloz y escasa memoria: sabe qué dirección le pidieron, pero olvidó la condición con la que se escogió el texto.
El campo Vary corrige esa pérdida de contexto. RFC 9110 explica que Vary: accept-language identifica el dato de la petición que pudo influir en la representación elegida. RFC 9111 obliga a la caché a comparar los campos señalados con los de la petición original; si no coinciden, no debe reutilizar la respuesta sin revalidarla. Una misma estantería puede albergar el periódico danés y el francés, siempre que no se pierdan sus etiquetas.
La propia norma de cachés señala una metedura de pata frecuente: la respuesta por defecto omite Vary. Entonces esa versión puede ganar futuras búsquedas aunque haya otra más adecuada para el idioma solicitado. El servidor no tiene que equivocarse al traducir nada. Basta con olvidarse de contarle a la caché que había elegido por idioma.
La respuesta también puede llevar Content-Language, que indica el público lingüístico de la edición entregada. En RFC 9110, cada campo tiene una tarea: Accept-Language expresa una preferencia, Content-Language describe lo recibido y Vary instruye a quienes guardan y reutilizan. Meter los tres en un cajón llamado «configuración de idioma» hace imposible saber dónde se torció el reparto.
La persona puede desmentir al navegador. La guía de internacionalización del W3C recuerda que un navegador prestado puede seguir enviando las preferencias de su dueño. Por eso la página necesita una forma visible de cambiar de idioma. El RFC de 1997 también advirtió de que una lista completa enviada en cada petición podía revelar información que el usuario consideraba privada; el estándar actual exige que la persona controle esa preferencia.
HTTP montó un servicio de mesa bastante sofisticado: pedir, elegir, rotular, guardar y volver a ofrecer. El último gesto pertenece al lector, que puede mirar el plato y pedir otro.
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance





