Изначально типы MIME проектировались для возможности передачи данных, отличных от текстовых. Актуально это было для электронной почты. Например, чтобы передать картинку, через её протокол использовался тип MIME, сообщающий, что передаётся, к примеру, файл JPEG.
Развитие технологии и её появление
Типы MIME активно используются для передачи данных в HTTP-протоколе. Говоря простым языком, он описывает дополнительные атрибуты пересылаемого пакета и поддерживает возможность реализовать передачу нескольких файлов, даже вложенных друг в друга в рамках одного сообщения. Для того чтобы сообщить адресату о том, какой тип файла передаётся, и, соответственно, как с ним работать, в заголовке добавляется его MIME-тип. Например, обычный текст маркируется text/plain, а электронные страницы - text/html.
Зачем нужно знать о MIME?
О том, как устроены и для чего нужны типы MIME, необходимо знать веб-разработчикам и программистам, в чьи обязанности входит создание продуктов, так или иначе работающих с Сетью. Описать взаимодействие лучше на приближенном к реальности примере.
Веб-программист пишет код для одной из страниц сайта. Он позволяет выполнить загрузку файла PDF. При этом в коде он указывает MIME для такого типа данных: application/pdf. Браузер, обращаясь к этой странице, читает заголовок и понимает, что это PDF-файл. И в зависимости от настроек либо сразу начинает его скачивать, либо просто откроет для просмотра в окне. Таким образом, разделение контента на типы позволяет клиенту адекватно реагировать на поступающие типы данных соответствующим способом.
Список MIME-типов
Количество разновидностей файлов, перечисленных в стандарте MIME, велико. Для удобства все они разбиты по категориям. Стоит рассмотреть основные из них и описать типы, а также то, как браузер будет на них реагировать.
Категория text
В ней находятся типы, которые, так или иначе, связаны с передачей текстовой информации. Сюда могут входить скрипты, таблицы стилей, обыкновенный текст. В категорию входят:
- Html. Язык гипертекстовой разметки. Ни один сайт в Интернете не сможет работать без его использования.
- Css. Каскадные таблицы стилей. Оформление и взаимодействие объектов на странице осуществляется с помощью таких файлов.
- Javascript. Увидев этот тип, браузер сразу поймёт, что ему нужно обработать участок кода - скрипт.
- Plain. Простой обычный текст.
- Xml. Файлы разметки по технологии XML.
Категория image
Здесь передаются расширения пересылаемых файлов, например таких:
- gif;
- jpeg;
- tiff.
Категория application
Содержит в себе типы, которые можно, так или иначе, запустить, то есть данные каких-то приложений или сервисов. Реакция браузера на некоторые из них может быть запросом на запуск специальной программы или же открытие ее прямо на странице.
- Json. Удобный формат передачи данных. Сообщает браузеру о том, что ответ будет передан в json.
- Pdf. В зависимости от настроек браузера данный тип может скачиваться, просматриваться в окне или же использовать стороннюю программу, установленную на компьютере.
- Zip и gzip. Передача архивных файлов.
- Ogg. Обозначение для мультимедиа контента.
- Xhtml+xml. Формат передачи данных XHTML, который дополняет и увеличивает функционал классического HTML, а также привносит эффективность XML в стандарт.
Категория audio
По аналогии с графическими файлами в этой категории передаются в основном расширения:
- Basic. Стандартный тип звукового файла.
- Aac. Формат аудиофайла.
- Mpeg. Здесь может передаваться mp3 или mpeg.
- X-ms-wma или x-ms-wax. Тип данных Windows Media Audio.
- Webm. Довольно молодой формат видео, разработанный компанией Google. Уже поддерживается многими браузерами и медиаплеерами.
X
X-типы относятся к категории application. С помощью них обозначаются нестандартные типы файлов. К ним, например, относятся архивы tar, RAR, FLASH и многие другие, не вошедшие в основной перечень.
Заключение
Список MIME type постоянно расширяется в связи с появлением новых технологий, стандартов и типов файлов. Ознакомиться с текущим перечнем можно в последних обновлениях документов RFC, касающихся типов MIME.