Négociation du contenu

Comment le serveur sait quel fichier servir

Vous aurez noté que les liens internes ne se terminent pas par .html. C'est parce que le serveur utilise une négociation de contenu pour décider quelle version du document il doit transmettre. Quand il y a plus d'une possibilité, le serveur fait une liste de tous les fichiers possibles à servir, par exemple si la demande est pour « about », alors la liste des possibilités peut être about.en.html et about.de.html. L'action par défaut pour les serveurs Debian est de servir le document anglais, mais c'est configurable.

Si un client a la bonne variable configurée, par exemple pour servir de l'allemand, alors dans l'exemple ci-dessus about.de.html sera servi. La chose agréable dans cette configuration est que si la langue désirée n'est pas disponible, une langue différente est servie à la place (ce qui, on peut l'espérer, est mieux que rien). La décision de savoir quel document est servi est un peu confuse aussi au lieu de la décrire ici, vous aurez la réponse complète à http://httpd.apache.org/docs/content-negotiation.html si vous êtes intéressés.

Parce que beaucoup d'utilisateurs ne connaissent même pas l'existence de la négociation de contenu, il y a des liens au bas de chaque page qui pointent directement sur la version de la page dans chacune des autres langues disponibles. Ceux-ci sont calculés par un script perl appelé par wml quand la page est générée.