Кратко
- RFC 1523 намеренно ограничил
text/enriched: ASCII-совместимое содержимое должно было оставаться терпимо читаемым без MIME, а минимальный клиент мог снять команды и получить связный текст. - Это было управляемое упрощение, а не тождество. Неизвестные эффекты, скрытые параметры, локальная верстка и более богатая часть
multipart/alternativeмогли исчезнуть при полном сохранении видимых слов.
Удаление разметки тоже было разбором
RFC 1523 вышел в сентябре 1993 года со статусом Informational и заменил название text/richtext из RFC 1341 на text/enriched, уточнив формат. Его возможности сознательно не дотягивали до полноценного текстового редактора. Ограничение сокращало выразительность, зато повышало вероятность правильного показа на стороне адресата.
Документ требовал, чтобы телетайпная система могла удалить оформление и оставить понятный текст. Для ASCII или восьмибитного расширения даже сырые данные должны были выглядеть приемлемо в программе, не понимающей MIME.
Но удаление не сводилось к регулярному выражению. В nofill прекращались обычное заполнение строк и обработка CRLF, а другие enriched-команды продолжали действовать. В verbatim отключались также выравнивание и интерпретация внутренних команд до специального закрывающего токена. Минимальному читателю требовалось знать текущий режим.
Стек был платой за строгого автора
Команды состояли из ASCII-имён без учёта регистра, помещались в угловые скобки и ограничивались 60 символами. Литерал < записывался как <<. Форматирующие окружения следовало закрывать, балансировать и правильно вкладывать.
Составитель письма брал на себя дополнительную строгость. Зато отображатель мог применять стек: сохранить состояние при открытии и восстановить при закрытии. RFC советовал разумно переживать повреждённую структуру, но не определял пересечённые окружения как норму.
Один CRLF превращался в пробел, а последовательность из N — в N−1 видимых переводов строки. Транспорт мог физически перенести длинную строку, не создавая авторского абзаца. Исходные октеты, транспортные строки, восстановленный текст и экран поэтому нельзя считать одной записью.
Неизвестная команда становилась пустым действием
Нераспознанная команда обязана была быть no-op: вложенные слова сохранялись, эффект исчезал. Частные расширения могли начинаться с X-, формальные требовали нового интернет-документа.
Старый клиент благодаря этому не отвергал письмо с будущей разметкой. Однако предупреждающая окраска или смысловой уровень могли превратиться в обычную фразу. Успешный разбор доказывал продолжение чтения, а не полное сохранение сигнала.
Среда <param> несла данные для другой команды. Интерпретатор мог понять их или проигнорировать, но не показывать читателю. Минимальная проекция удаляла и разметку, и содержимое параметра. Хорошо читаемая фраза могла лишиться значения, от которого зависело расширение.
Минимальное соответствие требовало распознать литеральный разделитель и специальные режимы, убрать команды с параметрами и применить правила CRLF. Результатом был читаемый текст, но не точная копия шрифтов, отступов, акцентов или авторского намерения.
Экран оставался локальным решением
Шрифты, ширина строки, шаг отступа, выравнивание и совместимость эффектов определялись возможностями получателя. Если совместить команды нельзя, клиент мог предпочесть самую внутреннюю из распознанных. Разные визуальные результаты могли одинаково соответствовать документу.
Для более сложного материала RFC предлагал multipart/alternative: широко доступный text/enriched рядом с богатым представлением вроде ODA. Один клиент выбирал второе, другой — первое. Оба успешно получали сообщение, но читали разные его части.
RFC 1523 утверждал, что механизм не создаёт вопросов безопасности. Это историческая оценка документа, не современное доказательство для всех расширений, реализаций и окружающих MIME-программ. RFC 1563 объявил RFC 1523 устаревшим, затем RFC 1896 сменил RFC 1563. Обновление документов не доказывает одновременную замену установленного кода.
Собранные источники не называют конкретный почтовый клиент, развёртывание или сообщение; они не измеряют распространённость, реакцию пользователей и наблюдаемый результат обработки повреждённого ввода. Они подтверждают правила формата и историю документов, но не поведение определённой установки.
Надёжный след разделяет исходные байты и charset, физические CRLF, стек парсера, решения по известным и неизвестным командам, скрытые параметры, выбранную альтернативу, локальный рендеринг и человеческое понимание. Читаемое упрощение делало потерю переносимой; оно не делало её нулевой.
Источники
- Карточка RFC 1523
- RFC 1523 — MIME-тип text/enriched
- RFC 1341 — MIME
- RFC 1521 — MIME, часть первая
- RFC 1563 — MIME-тип text/enriched
- RFC 1896 — MIME-тип text/enriched
- RFC 2046 — MIME, часть вторая
- Heng Lu — Приоритет работающего кода
- Heng Lu — Минимальная начальная спецификация
- Heng Lu — Об уровнях реальности
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
