Насколько мне известно, не существует «официального» типа медиа для мозгового траха (Официальные типы перечислены здесь). Вы, конечно, можете придумать свой собственный без официальной регистрации типа, но вы должны принять во внимание несколько вещей, прежде чем выбрать, какое имя использовать. Вся необходимая информация содержится в RFC2046. Я буду обсуждать соответствующие части ниже.
Тип носителя верхнего уровня
Насколько я вижу, вы можете выбрать два варианта: text
и application
:
text
Согласно Разделу 3:
Подтип «plain», в частности, указывает на обычный текст, не содержащий команд форматирования или директив любого рода. Обычный текст предназначен для отображения «как есть». Для полного понимания текста не требуется никакого специального программного обеспечения, кроме поддержки указанного набора символов.
Если вы хотите, чтобы данные отображались, а не интерпретировались приложением, я бы использовал это.
В Раздел 4.1.4 упоминается следующее о нераспознанных подтипах:
Нераспознанные подтипы «текста» следует рассматривать как подтип «обычный», если реализация MIME знает, как обрабатывать кодировку.
Установка типа мультимедиа верхнего уровня на текст гарантирует, что совместимые приложения, которые не распознают полный тип, по-прежнему будут отображать данные как текст.
application
Если вы хотите, чтобы ваши данные интерпретировались или обрабатывались в дальнейшем, вам следует использовать тип носителя верхнего уровня приложения. Как и в приведенном выше аргументе, если вы пометите свои данные как application
, любые программы, которые их получат, с большей вероятностью будут вести себя разумно.
Раздел 4.5.3 касается нераспознанных типов приложений:
Ожидается, что в будущем будут определены многие другие подтипы «приложения». Реализации MIME должны как минимум рассматривать любые нераспознанные подтипы как эквивалентные «application/octet-stream».
Читая соответствующий раздел (Раздел 4.5.1), мы узнаем, как приложения должны обрабатывать потоки октетов:
Рекомендуемое действие для реализации, которая получает объект «приложение/поток октетов», состоит в том, чтобы просто предложить поместить данные в файл с отменой любого Content-Transfer-Encoding или, возможно, использовать его в качестве входных данных для указанного пользователем процесс.
Если это кажется наиболее логичным способом обработки ваших данных, когда они не распознаны, тогда application
для вас.
Подтип
Выбрать подтип намного проще. Раздел 6 описывает экспериментальные типы носителей:
Значение типа носителя, начинающееся с символов «X-», является частным значением, которое должно использоваться согласующимися системами по взаимному согласию. Любой формат без строгого и общедоступного определения должен называться с префиксом «X-», а общедоступные значения никогда не должны начинаться с «X-».
Таким образом, ваш подтип должен быть X-brainfuck
.
Резюме
У вас есть два варианта:
text/X-brainfuck
application/X-brainfuck
Если вы хотите, чтобы приложения обрабатывали данные как обычный текст и отображали их, выберите 1. Если вы хотите, чтобы данные интерпретировались или выполнялись, выберите 2. Если вы не уверены, что вы хотите, выберите 2, потому что по умолчанию ожидается, что приложение подскажет пользователю, что делать, если оно не распознает тип.
person
Community
schedule
26.11.2014