mod_charset_lite - Serveur Apache HTTP Version 2.4

Apache Server 2.4

<-

Module Apache mod_charset_lite

Description:Spécifie dans quel jeu de caractère doivent s'effectuer les traductions ou les réencodages
Statut:Extension
Identificateur de Module:charset_lite_module
Fichier Source:mod_charset_lite.c

Sommaire

Le module mod_charset_lite permet au serveur de modifier le jeu de caractères des réponses avant de les envoyer aux clients. Dans un environnement EBCDIC, Apache traduit toujours les contenus au protocole HTTP (par exemples les en-têtes de réponses) de la page de code de la locale du processus Apache vers ISO-8859-1, mais pas le corps des réponses. Dans tous les environnements, on peut utiliser mod_charset_lite pour spécifier que les corps des réponses doivent être traduits. Par exemple, si les fichiers sont stockés sous forme EBCDIC, mod_charset_lite pourra les traduire en ISO-8859-1 avant de les envoyer au client.

Ce module fournit quelques procédés de configuration implémentés par Apache version russe, ainsi que son module mod_charset associé.

top

Problèmes courants

Noms de jeux de caractères non valides

Les noms des jeux de caractères passés en paramètres aux directives CharsetSourceEnc et CharsetDefault doivent être reconnus par le mécanisme de traduction utilisé par APR sur le système où mod_charset_lite est utilisé. Ces noms de jeux de caractères ne sont pas standardisés, et sont en général différents des valeurs qui leur correspondent dans les en-têtes HTTP. Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc tester facilement vos noms de jeux de caractères en utilisant le programme iconv(1), de la manière suivante :

iconv -f valeur-charsetsourceenc -t valeur-charsetdefault

Incompatibilité entre le jeu de caractères du contenu et les règles de traduction

Si les règles de traduction ne peuvent s'appliquer au contenu, la traduction peut échouer avec des conséquences diverses, comme :

  • Le mécanisme de traduction peut renvoyer un mauvais code de retour, et la connexion sera interrompue.
  • Le mécanisme de traduction peut insérer silencieusement des caractères spéciaux (par exemple des points d'interrogation) dans le tampon de sortie lorsqu'il n'est pas en mesure de traduire le tampon d'entrée.
top

Directive CharsetDefault

Description:Jeu de caractère vers lequel la traduction doit s'effectuer
Syntaxe:CharsetDefault jeu de caractères
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_charset_lite

La directive CharsetDefault permet de spécifier le jeu de caractères vers lequel le contenu situé dans le conteneur associé devra être traduit.

La valeur de l'argument jeu de caractères doit être un nom de jeu de caractères valide du point de vue du support des jeux de caractères dans APR. En général, cela implique qu'elle doit être reconnue par iconv.

Exemple

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
    CharsetSourceEnc  UTF-16BE
    CharsetDefault    ISO-8859-1
</Directory>
Spécifier le même jeu de caractères pour les deux directives CharsetSourceEnc et CharsetDefault désactive la traduction. Le jeu de caractères ne doit pas forcément correspondre au jeu de caractères de la réponse, mais il doit être valide du point de vue du système.
top

Directive CharsetOptions

Description:Précise les détails de la traduction du jeu de caractères
Syntaxe:CharsetOptions option [option] ...
Défaut:CharsetOptions ImplicitAdd
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_charset_lite

La directive CharsetOptions permet de préciser certains détails du comportement du module mod_charset_lite. Option accepte les valeurs suivantes :

ImplicitAdd | NoImplicitAdd
Le mot-clé ImplicitAdd indique que mod_charset_lite doit insérer son filtre de manière implicite lorsque la configuration indique que le jeu de caractère du contenu doit être traduit. Si la chaîne de filtrage est configurée de manière explicite via la directive AddOutputFilter, l'option NoImplicitAdd doit être utilisée afin que mod_charset_lite n'ajoute pas son propre filtre.
TranslateAllMimeTypes | NoTranslateAllMimeTypes
Normalement, mod_charset_lite n'effectuera une traduction qu'en présence d'un petit nombre de types MIME parmi tous les types possibles. Lorsque l'option TranslateAllMimeTypes est utilisée pour une section de configuration donnée, la traduction est effectuée sans se préoccuper du type MIME.
top

Directive CharsetSourceEnc

Description:Jeu de caractères source des fichiers
Syntaxe:CharsetSourceEnc jeu de caractères
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_charset_lite

La directive CharsetSourceEnc permet de spécifier un jeu de caractères source pour les fichiers situés dans le conteneur associé.

La valeur de l'argument jeu de caractères doit être un nom de jeu de caractères valide du point de vue du support des jeux de caractères dans APR. En général, cela implique qu'elle doit être reconnue par iconv.

Exemple

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
    CharsetSourceEnc  UTF-16BE
    CharsetDefault    ISO-8859-1
</Directory>

Les noms de jeux de caractères de cet exemple sont reconnus par le mécanisme de traduction d'iconv sous Solaris 8.

Spécifier le même jeu de caractères pour les deux directives CharsetSourceEnc et CharsetDefault désactive la traduction. Le jeu de caractères ne doit pas forcément correspondre au jeu de caractères de la réponse, mais il doit être valide du point de vue du système.