Кратко

  • DATA завершалась строкой из точки, поэтому та же строка в сообщении требовала обратимого правила прозрачности.
  • Отправитель удваивал начальную точку; получатель узнавал одиночный терминатор и удалял одну точку в остальных строках.
  • CHUNKING позже применил точное число октетов и объявленный последний блок, передав власть над границей счёту.

Один канал менял назначение

RFC 821 чередует команды и ответы. DATA временно превращает тот же поток в содержимое, поэтому необходимо точно знать, где письмо заканчивается и диалог возобновляется.

Строка из точки была проста, но могла быть законным пользовательским текстом. Данные и управление столкнулись в одном представлении.

Прозрачность была двусторонним обещанием

Отправитель проверяет каждую строку и добавляет точку перед уже имеющейся начальной. Получатель завершает DATA на одиночной точке и удаляет первую точку в других затронутых строках.

Форма в сети меняется, но при доставке исходное содержимое восстанавливается. RFC 821 требует обратимости, особенно в ретрансляторах. Если одна сторона пропустит действие, письмо оборвётся или получит лишний знак.

Малое исключение охватило всю цепь

RFC 5321 сохраняет правило и не учитывает добавленную точку в пределе 1000 октетов строки. Буферы, журналы, ретрансляторы и тесты должны различать хранимую, каноническую и сетевую формы.

Счёт октетов удалил запретную строку

RFC 3030 определяет CHUNKING и BDAT. Команда сообщает точное число следующих октетов, а LAST отмечает последний блок. Получатель больше не ищет терминатор в содержимом.

Это не всеобщая замена DATA. Сервер объявляет CHUNKING, клиент использует BDAT после согласия, а сервер продолжает принимать DATA. Расширение сохраняет старых партнёров.

Счёт стал решающим

Ошибочная длина смещает границу: материал поглощается блоком или попадает в анализатор команд. Поэтому BINARYMIME зависит от CHUNKING — произвольные октеты нельзя безопасно ограничить строковым признаком DATA.

Доверие не исчезло, а перешло от преобразования содержимого к точной арифметике и предварительному согласованию.

Источники и ограничения

Источники — RFC 821, RFC 5321 и RFC 3030. Они не измеряют внедрение. DATA остаётся обязательным, а прозрачность не шифрует и не аутентифицирует.