Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_charset_lite

Описание: Задание преобразования или перекодирования набора символов
Статус: Расширение
Идентификатор модуля: charset_lite_module
Исходный файл: mod_charset_lite.c

Краткое описание

mod_charset_lite позволяет серверу изменять набор символов ответов перед их отправкой клиенту. В среде EBCDIC Apache всегда преобразует содержимое протокола HTTP (например, заголовки ответа) из кодовой страницы локали процесса Apache в ISO-8859-1, но не тело ответов. В любой среде mod_charset_lite можно использовать, чтобы указать, что тела ответов следует преобразовывать. Например, если файлы хранятся в EBCDIC, то mod_charset_lite может преобразовать их в ISO-8859-1 перед отправкой клиенту.

Этот модуль предоставляет небольшое подмножество механизмов настройки, реализованных Russian Apache и связанным с ним mod_charset.

Распространённые проблемы

Недопустимые имена наборов символов

Параметры имён наборов символов в CharsetSourceEnc и CharsetDefault должны поддерживаться механизмом преобразования, используемым APR в системе, где развёрнут mod_charset_lite. Имена наборов символов не стандартизированы и обычно отличаются от соответствующих значений, используемых в заголовках HTTP. В настоящее время APR может использовать только iconv(3), поэтому имена наборов символов можно легко проверить с помощью программы iconv(1) следующим образом:

iconv -f charsetsourceenc-value -t charsetdefault-value

Несоответствие набора символов содержимого правилам преобразования

Если правила преобразования не подходят для содержимого, преобразование может завершиться сбоем различными способами, в том числе:

  • Механизм преобразования может вернуть код ошибки, и соединение будет прервано.
  • Если механизм преобразования не может преобразовать входной буфер, он может незаметно поместить в выходной буфер специальные символы (например, знаки вопроса).

Директива CharsetDefault

Описание: Набор символов, в который следует преобразовать данные
Синтаксис:
CharsetDefault charset
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: FileInfo
Статус: Расширение
Модуль: mod_charset_lite

Директива CharsetDefault задаёт набор символов, в который следует преобразовывать содержимое соответствующего контейнера.

Значение аргумента charset должно распознаваться средствами поддержки наборов символов в APR как допустимое имя набора символов. Как правило, это означает, что он должен поддерживаться iconv.

Пример

<Directory "/export/home/trawick/apacheinst/htdocs/convert">
    CharsetSourceEnc  UTF-16BE
    CharsetDefault    ISO-8859-1
</Directory>
Указание одинакового набора символов для CharsetSourceEnc и CharsetDefault отключает преобразование. Набор символов не обязан совпадать с набором символов ответа, но должен быть допустимым набором символов в системе.

Директива CharsetOptions

Описание: Настройка поведения при преобразовании наборов символов
Синтаксис:
CharsetOptions option [option] ...
Значение по умолчанию:
CharsetOptions ImplicitAdd
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: FileInfo
Статус: Расширение
Модуль: mod_charset_lite

Директива CharsetOptions настраивает некоторые параметры поведения mod_charset_lite. Значением Option может быть один из следующих вариантов:

ImplicitAdd | NoImplicitAdd
Ключевое слово ImplicitAdd указывает, что mod_charset_lite должен автоматически добавлять свой фильтр, если в конфигурации задано преобразование набора символов содержимого. Если цепочка фильтров явно настроена с помощью директивы AddOutputFilter, следует указать NoImplicitAdd, чтобы mod_charset_lite не добавлял свой фильтр.
TranslateAllMimeTypes | NoTranslateAllMimeTypes
Обычно mod_charset_lite выполняет преобразование только для небольшого подмножества возможных типов MIME. Если для заданного раздела конфигурации указано ключевое слово TranslateAllMimeTypes, преобразование выполняется независимо от типа MIME.

Директива CharsetSourceEnc

Описание: Исходный набор символов файлов
Синтаксис:
CharsetSourceEnc charset
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: FileInfo
Статус: Расширение
Модуль: mod_charset_lite

Директива CharsetSourceEnc задаёт исходный набор символов файлов в соответствующем контейнере.

Значение аргумента charset должно распознаваться средствами поддержки наборов символов в APR как допустимое имя набора символов. Как правило, это означает, что он должен поддерживаться iconv.

Пример

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

Имена наборов символов в этом примере работают с поддержкой преобразования iconv в Solaris 8.

Указание одинакового набора символов для CharsetSourceEnc и CharsetDefault отключает преобразование. Набор символов не обязан совпадать с набором символов ответа, но должен быть допустимым набором символов в системе.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_charset_lite.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API