Какой MIME-тип у файлов .ics?
MIME-тип (медиатип) для файлов iCalendar с расширением .ics — text/calendar. Используется для приглашений в календарь и календарных лент. Email-приглашения используют text/calendar; method=REQUEST.
Заголовок Content-Type
Content-Type: text/calendar; charset=utf-8
Текстовые типы должны включать charset, чтобы браузер правильно декодировал символы.
Настройка сервера
| Сервер | Конфигурация |
|---|---|
Nginx (mime.types или types {}) | text/calendar ics; |
Apache (.htaccess) | AddType text/calendar .ics |
IIS (web.config) | <mimeMap fileExtension=".ics" mimeType="text/calendar" /> |
| Node.js / Express | res.type('ics') или res.setHeader('Content-Type', 'text/calendar; charset=utf-8') |
| Amazon S3 | Задайте Content-Type: text/calendar для объекта (метаданные) или передайте --content-type text/calendar в aws s3 cp |
Нужно ли сжимать файлы .ics?
Да. iCalendar — это текстовый формат, поэтому включение gzip или Brotli для text/calendar обычно уменьшает объём передаваемых данных на 50–80 %. Убедитесь, что список сжимаемых типов на вашем сервере включает этот MIME-тип — проверить можно с помощью проверки сжатия сайта.
Зачем нужен MIME-тип
Браузер решает, что делать с ответом — отобразить, выполнить, воспроизвести или скачать — по заголовку Content-Type, а не по расширению файла. При X-Content-Type-Options: nosniff неверный тип приводит к тому, что таблицы стилей и скрипты полностью блокируются. При загрузке файлов никогда не доверяйте типу, который отправил клиент; проверяйте содержимое файла (его магические байты) на сервере.
Поиск MIME-типов
Найдите любое распространённое расширение файла и MIME-тип с готовыми заголовками Content-Type для копирования.
Часто задаваемые вопросы
Какой MIME-тип у .ics?
text/calendar.Как задать Content-Type для .ics в Nginx?
text/calendar ics; указан в блоке types (обычно в /etc/nginx/mime.types), и перезагрузите Nginx.