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 перед отправкой клиенту.

Этот модуль предоставляет небольшой подмножество механизмов конфигурации, реализованных в 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