Serveur Apache HTTP Version 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é.
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.
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>
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.
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 quemod_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 directiveAddOutputFilter
, l'optionNoImplicitAdd
doit être utilisée afin quemod_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'optionTranslateAllMimeTypes
est utilisée pour une section de configuration donnée, la traduction est effectuée sans se préoccuper du type MIME.
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.
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.