Протокол MIME
Протокол MIME - многоцелевое расширение электронной почты,
был создан как способ передачи нетекстовой информации: изображений,
звука, видео в письмах электронной почты. Механизм оказался удачным,
и его перенесли и в on-line сервисы, в том числе WWW. Здесь MIME
используется для передачи документов от сервера к клиенту.
В общем виде MIME основывается на передаче вместе с основными
данными дополнительной информации, описывающей что это и в каком
виде передается. Эта дополнительная информация называется заголовок
MIME. Базовой частью заголовка является строка, описывающая
тип передаваемого сообщения. Формат строки:
Content-Type: <тип_MIME>
Перечень типов MIME (т.е. видов передаваемых данных) постоянно
пополняется и может быть дополнен даже пользователем для описания
своего собственного вида данных. Формат типа MIME:
<Тип> / <Подтип> [ ;
<параметры> ]
Где <Тип> - определяет общий тип данных:
Audio - для звуковых данных
Application - данные, являющиеся входными для какого-либо приложения
(программы)
Image - для графических образов
Message - для сообщения, которое само по себе является MIME -
документом
Multipart - для сообщения, состоящего из нескольких MIME - документов
Text - для текстовых данных в различном виде
Video - для видеоданных.
<Подтип> - указывает на специфический формат данных типа
<Тип>
Например:
text/html - текстовые данные в формате HTML
image/giff - графические данные в формате gifF
<Параметры> - список параметров, необходимых для интерпретации
данных.
Для ведения специфичной обработки файлов различных типов и форматов
на клиентской и серверной частях поддерживаются списки соответствий
типов MIME и расширений файлов. Формат записи такого списка:
<Тип>/<Подтип> <расширение1>
... <расширениеN>
Эти списки сопоставляют всем файлам, имеющим определенные расширения,
определенные типы MIME.
Например:
image/giff gif giff
text/html html htm
В первой строке всем файлам с расширением gif и giff приписывается
тип содержимого image/giff. Если для типа содержимого image/giff
определены специальные правила обработки (например,
отображение на экране в определенной области), то так будут обрабатываться
все файлы с расширениями gif и giff.