RFC: 1521
Оригинал: MIME - Multipurpose Internet Mail Extensions
Другие версии: RFC 1341, RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049
Категория: Проект стандарта
Дата публикации:
Авторы: ,
Перевод: Антон Воронин

II.3. Использование или удаление указателей External-Body (внешнего тела)

Другой MIME-тип, ориентированный на слишком большие письма, это "message/external-body". Он обеспечивает почтовым транспортным службам, оптимизировать почтовый траффик в своей системе. Однако, когда почта пересекает медленный и дорогой участок, например, звено спутниковой связи через Тихий океан, может иметь смысл считать указываемые данные и передать их в качестве действительного тела письма, либо скопировать в новое, более доступное место, соответствующим образом изменив ссылку в заголовке письма. Поскольку спецификация данного типа допускает наличие даты аннулирования ресурса, почтовый транспорт может идти на компромисс между пропускной способностью своей системы и ее дисковым пространством, отданным под хранение внешних данных писем, чтобы оптимизировать использование этих внешних данных.

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

Например, приведенное ниже письмо содержит ссылку на внешние PostScript-данные:

From:  Nathaniel Borenstein
To: Ned Freed
Subject: The latest MIME draft
Content-Type: message/external-body;
     name="BodyFormats.ps";
     site="thumper.bellcore.com";
     access-type=ANON-FTP;
     directory="pub";
     mode="image";
     expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"

Content-type: application/postscript

Шлюз в Австралию может выбрать — скопировать ли файл в какой-либо австралийский FTP-архив, изменив соответствующие параметры в заголовке письма, или оставить все без изменений, или считать данные и вложить их в письмо целиком:

From:  Nathaniel Borenstein
To: Ned Freed
Subject: The latest MIME draft
Content-type: application/postscript

%!PS-Adobe-1.0
%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-
274,4270,9938586,21462)
и так далее...

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

Кроме того, вместо замены ссылки на внешние данные их натуральным включением в письмо, можно трансформировать оригинальное письмо в письмо типа "multipart/alternative", содержащее как ссылку на внешние данные, так и копию этих данных. Это означает, что при перенаправлении письма другому пользователю перенаправлена будет только та часть, которая содержит ссылку. Кроме того, получатель, хоть и получит данные сразу целиком, все равно не потеряет информацию о местоположении оригинального ресурса, и при необходимости сможет скачать более новую его версию в будущем. Это иллюстрируется следующим примером:

From:  Nathaniel Borenstein
To: Ned Freed
Subject: The latest MIME draft
Content-type: multipart/alternative; boundary=foo

--foo
Content-Type: message/external-body;
     name="BodyFormats.ps";
     site="thumper.bellcore.com";
     access-type=ANON-FTP;
     directory="pub";
     mode="image";
     expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"

Content-type: application/postscript
--foo
Content-type: application/postscript

%!PS-Adobe-1.0
%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-
274,4270,9938586,21462)
etc...
--foo--

Аналогично, в случае, когда внешние данные копируются транспортной системой на локальный FTP, можно сделать в письме две части типа 'external-body', что позволит получателю выбрать, с какого из FTP предпочтительнее забирать тело письма.

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