Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сетевые протоколы в инфокоммуникациях (ПЗ).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.51 Mб
Скачать

6.6. Наборы символов

HTTP использует то же определение термина "набор символов", что дано для MIME:

Термин "набор символов" относится к методу, который с помощью одной или более таблиц преобразует последовательность октетов в последовательность символов. Заметьте, что не требуется безусловного обратного преобразования, при этом не все символы могут быть доступны и одному и тому же символу может соответствовать более чем одна последовательность октетов. Это определение имеет целью допустить различные виды кодировок символов, от простых однотабличных, таких, как US-ASCII, до сложных — таблично переключаемых методов, используемых, например, в ISO 2022. Однако определение, связанное с набором символов MIME, должно полностью специфицировать схему соответствия октетов и символов. Применение внешних профайлов для определения схемы шифрования недопустимо.

Замечание. Здесь "набор символов" ближе к понятию "кодирование символов". Однако так как HTTP и MIME используют один и тот же регистр, важно, чтобы терминология также была идентичной.

Наборы символов HTTP идентифицируются лексемами, которые не чувствительны к использованию строчных или прописных букв. Полный набор лексем определен регистром наборов символов IANA [7.19].

charset = token

Несмотря на то, что HTTP позволяет использовать произвольную лексему в качестве значения charset, любая лексема, значение которой определено в рамках регистра набора символов IANA, должна представлять символьный набор, определенный этим регистром. Приложение должно ограничить использование символьных наборов только теми, которые определены регистром IANA.

Кодировки содержимого

Значения кодировки содержимого указывают на кодовое преобразование, которое было или может быть выполнено над объектом. Кодировки содержимого первоначально применены для того, чтобы иметь возможность архивировать документ или преобразовать его каким­то другим способом без потери идентичности или информации. Часто объект запоминается закодированным, передается и только получателем декодируется.

contentcoding = token

Все значения кодировок содержимого не зависят от того, используются строчные или прописные символы. HTTP/1.1 реализует значения кодировок содержимого в полях заголовка AcceptEncoding и Content-Encoding. Хотя значение описывает кодирование содержимого, более важным является то, что оно определяет механизм декодирования.

Комитет по стандартным числам Интернет IANA (Internet Assigned Numbers Authority) выполняет функции регистра для значений лексем кодирования содержимого. Этот регистр хранит следующие лексемы:

gzip

Формат кодирования, реализуемый программой архивации файлов gzip (GNU zip), как описано в RFC-1952 [7.25]. Этот формат соответствует кодированию LempelZiv (LZ77) с 32 битным CRC.

compress

Формат кодирования, реализуемый стандартной программой UNIX для архивации файлов compress. Этот формат соответствует адаптивному методу кодирования LempelZivWelch (LZW).

Замечание. Использование имен программ для идентификации форматов кодирования нежелательно и будет в будущем заменено. Их использование здесь является следствием исторической практики. Для совместимости с предшествующими реализациями HTTP, приложения должны считать xgzip и xcompress эквивалентными gzip и compress соответственно.

deflate

Формат zlib определен документом RFC-1950 [7.31] в комбинации с механизмом сжатия deflate, описанным в RFC-1951 [7.29].