📄 rfc1344.txt
字号:
will be encountered "downstream", but intelligent guesses
are often possible. Moreover, an IETF working group on SMTP
extensions has proposed augmenting SMTP with a "SIZE" verb
that would facilitate this process, thereby possibly
requiring fragmentation on the fly during message
transmission.
Note also that fragmentation or reassembly might reasonably
be performed, in differing circumstances, by either the
sending or receiving gateway systems, depending on which
system knew more about the capabilities of the other.
Using or Removing External-Body Pointers
Another MIME type oriented to extremely large messages is
the "message/external-body" type. In this type of message,
all or part of the body data is not included in the actual
message itself. Instead, the Content-Type header field
includes information that tells how the body data can be
retrieved -- either via a file system, via anonymous ftp, or
via other mechanisms.
The message/external-body type provides a new option for
mail transport services that wishes to optimize the way
bandwidth resources are used in a given environment. For
example, the basic use of message/external-body is to reduce
bandwidth in email traffic. However, when email crosses a
Borenstein [Page 5]
RFC 1344 MIME and Mail Gateways June 1992
slow and expensive boundary -- e.g., a satellite link across
the Pacific -- it might make sense to retrieve the data
itself and transform the external-body reference into the
actual data. Alternately, it might make sense to copy the
data itself to a new location, closer to the message
recipients, and change the location pointed to in the
message. Because the external-body specification can
include an expiration date, message transport services can
trade off storage and bandwidth capabilities to try to
optimize the overall use of resources for very large
messages.
Such behaviors by a gateway require careful analysis of
cost/benefit tradeoffs and would be a dramatic departure
from typical mail transport services. However, the
potential benefits are quite significant, so that such the
appropriate use of these service options should be explored.
For example, the following message includes PostScript data
by external reference:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
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
A gateway to Australia might choose to copy the file to an
Australian FTP archive, changing the relevant parameters on
the Content-type header field. Alternately, it might choose
simply to transform the message into one in which all the
data were included:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Subject: The latest MIME draft
Content-type: application/postscript
%!PS-Adobe-1.0
%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-
274,4270,9938586,21462)
etc...
This is an example which suggests both the benefits and the
dangers. There is considerable benefit to having a copy of
the data immediately available, but there also may be
considerable expense involved in transporting it to all of
Borenstein [Page 6]
RFC 1344 MIME and Mail Gateways June 1992
a the members of a list, if only a few will use the data
anytime soon.
Alternatively, instead of replacing an external-body message
with its real contents, it might make sense to transform it
into a "multipart/alternative" message containing both the
external body reference and the expanded version. This
means that only the external body part can be forwarded if
desired, and the recipient doesn't lose the information as
to where the data was fetched from, if they want to fetch an
up-to-date version in the future. Such information could be
represented, in MIME, in the following form:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
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--
Similarly for the case where a message is copied to a local
FTP site, one could offer two external body parts as the
alternatives, allowing the user agent to choose which FTP
site is preferred.
Image and other Format Conversions
MIME currently defines two image formats, image/gif and
image/jpeg. The former is much more convenient for many
users, and can be displayed more quickly on many systems.
The latter is a much more compact representation, and
therfore places less stress on mail transport facilities.
Message transport services can optimize both transport
bandwidth and user convenience by intelligent translation
between these formats (and other formats that might be added
later). When a message of type image/gif is submitted for
Borenstein [Page 7]
RFC 1344 MIME and Mail Gateways June 1992
long-haul delivery, it might reasonably be translated to
image/jpeg. Conversely, when image/jpeg data is received
for final delivery on a system with adequate storage
resources, it might be translated to image/gif for the
convenience of the recipient. Software to perform these
translations is widely available. It should be noted,
however, that performance of such conversions presumes
support for the new format by the recipient.
Although MIME currently only defines one audio format, more
are likely to be defined and registered with IANA in the
future. In that case, similar format conversion facilities
might be appropriate for audio.
If format conversion is done, it is STRONGLY RECOMMENDED
that some kind of trace information (probably in the form of
a Received header field) should be added to a message to
document the conversion that has been performed.
Some people have expressed concerns, or even the opinion
that conversions should never be done. To accomodate the
desires of those who dislike the idea of automatic format
conversion. For this reason, it is suggested that such
transformations be generally restricted to gateways rather
than general message transport services, and that services
which perform such conversions should be sensitive to a
header field that indicates that the sender does not wish to
have any such conversions performed. A suggested value for
this header field is:
Content-Conversion: prohibited
User agents that wish to explicitly indicate a willingness
for such conversions to be performed may use:
Content-Conversion: permitted
However, this will be the default assumption of many
gateways, so this header field is not strictly necessary.
It also should be noted that such control of conversion
would only be available to the sender, rather than to any of
the recipients.
Borenstein [Page 8]
RFC 1344 MIME and Mail Gateways June 1992
Robust Encoding of Data
In addition to all the reasons given above for possible
transformation of body data, it will sometimes be the case
that a gateway can tell that the body data, as given, will
not robustly survive the next step of transport. For
example, mail crossing an ASCII-to-EBCDIC gateway will lose
information if certain characters are used. In such cases,
a gateway can make the data more robust simply by applying
one of the MIME Content-Transfer-Encoding algorithms (base64
or quoted-printable) to the body or body part. This will
generally be a loss-less transformation, but care must be
taken to ensure that the resulting message is MIME-
conformant if the inital message was not. (For example, a
MIME-Version header field may need to be added.)
User-oriented concerns
If a gateway is going to perform major transformations on a
mail message, such as translating image formats or mapping
between included data and external-reference data, it seems
inevitable that there will be situations in which users will
object to these transformations. This is, in large part, an
implementation issue, but it seems advisable, wherever
possible, to provide a mechanism whereby users can specify,
to the transport system, whether or not they want such
services performed automatically on their behalf. The use of
the "Content-Conversion" header field, as mentioned above,
is suggested for this purpose, since it it least provides
some control by the sender, if not the recipient.
References
[RFC-1341] Borenstein, N., and N. Freed, "MIME
(Multipurpose Internet Mail Extensions): Mechanisms for
Specifying and Describing the Format of Internet Message
Bodies", RFC 1341, Bellcore, June, 1992.
Security Considerations
Security issues are not discussed in this memo.
Author's Address
Nathaniel S. Borenstein
MRE 2D-296, Bellcore
445 South St.
Morristown, NJ 07962-1910
Email: nsb@bellcore.com
Phone: +1 201 829 4270
Fax: +1 201 829 7019
Borenstein [Page 9]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -