RFC: 5322
Оригинал: Internet Message Format
Предыдущие версии: RFC 724, RFC 733, RFC 822, RFC 2822
Категория: Проект стандарта
Дата публикации:
Автор:
Перевод: Николай Малых

4. Устаревший синтаксис

В ранних версиях спецификации допускался иной (обычно, более либеральный) синтаксис по сравнению с дозволенным в этой версии. Кроме того, некоторые синтаксические элементы, используемые в почтовых сообщениях Internet, никогда не были документированы. Хотя генерация таких синтаксических форм недопустима в соответствии с разделом 3, они должны восприниматься и разбираться соответствующим спецификации получателем. В этом разделе документированы многие элементы такого типа. Использование грамматики раздела 3 с добавлением содержащихся в данном разделе определений, создает грамматику для использования при интерпретации сообщений.

Note: В этом разделе рассматриваются лишь те синтаксические формы, которые любая реализация должна подобающим образом интерпретировать. Однако существуют сообщения Internet, которые не соответствуют спецификации даже с учетом приведенного в этом разделе дополнительного синтаксиса. Отсутствие той или иной формы в данном документе отнюдь не означает, что она предназначена для нарушения работы компьютерной программы, а некорректный формат не обязательно ведет к потере данных в любой реализации. Устойчивость реализации к ошибкам обеспечивается самой реализацией.

Важное различие между устаревшим (интерпретация) и современным (генерация) синтаксисом заключается в том, что структурированные поля заголовков (т. е., текст между двоеточием и завершающей строку последовательностью CRLF) могут содержать пробелы (включая фальцовочные) и комментарии между любыми лексемами. Это позволяет создавать множество сложных форм, разбор которых может оказаться затруднительным для некоторых реализаций.

Другим ключевым различием между устаревшим и современным синтаксисом является правило, приведенное в параграфе 3.2.2 и запрещающее включение фальцовочных символов в строки, содержащие только пробелы в комментарии (см. обсуждение фальцовочных пробелов в параграфе 4.2).

В этом разделе также рассматриваются некоторые символы, которые раньше разрешалось использовать в сообщениях. Символ NUL (код ASCII - 0) считался разрешенным, но сейчас к таковым не относится. Аналогично, управляющие символы US-ASCII, отличные от CR, LF, SP и HTAB (коды ASCII от 1 до 8, 11, 12, 14 - 31 и 127) разрешалось использовать в полях заголовков. Символы CR и LF разрешалось использовать в сообщениях не только в форме последовательности CRLF; такое использование также рассматривается здесь.

Остальные различия в синтаксисе и семантике рассматриваются в соответствующих подпараграфах.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.