Negociación de contenido
Cómo sabe el servidor qué fichero ha de servir
Usted habrá notado que los enlaces internos no terminan en .html. Esto es porque el servidor usa la negociación de contenido para decidir qué versión del documento ha de enviar. Cuando hay más de una opción, el servidor creará una lista de todos los posibles ficheros que puede servir, por ejemplo, si se pide «about», entonces la lista podría ser about.en.html y about.de.html. Los servidores de Debian servirán por omisión el documento en inglés, pero esto es configurable.
Si el cliente tiene configurada la variable adecuada, por ejemplo servir el alemán, entonces en el ejemplo anterior se habría servido about.de.html. Lo mejor de esta configuración es que si el idioma deseado no se encuentra disponible, se enviará un idioma diferente en su lugar (que esperamos sea mejor que nada). La decisión de qué documento se sirve es algo confusa, por lo que en vez de describirla aquí, si usted está interesado podrá obtener la respuesta definitiva en https://httpd.apache.org/docs/current/content-negotiation.html.
Ya que muchos usuarios nunca conocerán la existencia de la negociación de contenido, existen enlaces al final de cada página que apuntan directamente a la versión de esa página en el resto de idiomas disponibles. Esto está programado usando un script de perl que wml llama cuando la página se genera.
También hay una opción para que se ignoren las preferencias de idioma del navegador utilizando una cookie que da prioridad a un único idioma.