Inhalts-Aushandlung

Woher weiß der Server, welche Datei er versenden soll

Sie werden merken, dass interne Links nicht mit .html enden. Das liegt daran, dass der Server Inhalts-Aushandlung (Content-Negotiation) benutzt, um zu entscheiden, welche Version des Dokuments er ausliefern soll. Wenn es mehr als eine Möglichkeit gibt, wird der Server eine Liste aller möglichen auslieferbarer Dateien erstellen, z.B. wenn die Anfrage nach "about" ist, dann könnte die Liste von Vervollständigungen "about.en.html" und "about.de.html" sein. Der Standard für Debian-Server ist, die englischen Seiten auszuliefern, aber es ist konfigurierbar.

Wenn ein Client die entsprechende Variable gesetzt hat, z.B. um Deutsch auszuliefern, dann wird in dem Beispiel von oben "about.de.html" ausgeliefert. Das schöne an dieser Einstellung ist, dass eine andere Sprache zurückgegeben wird, wenn die verlangte Sprache nicht verfügbar ist (was hoffentlich besser als nichts ist). Die Entscheidung, welche Seite verschickt wird, ist ein bisschen verwirrend, doch anstatt es hier zu beschreiben, sollten Sie die definitive Antwort von http://httpd.apache.org/docs/content-negotiation.html erhalten, wenn Sie daran interessiert sind.

Weil viele Benutzer nichts von der Existenz der Inhalts-Aushandlung wissen, gibt es Links am Fuß von jeder Seite, die direkt zu den Versionen führen, die in anderen Sprachen verfügbar sind. Dies wird durch ein Perl-Skript berechnet, das von wml aufgerufen wird, wenn die Seite erzeugt wird.