throbber
Network Working Group
`Request for Comments: 1341
`
`N. Borenstein, Bellcore
`N. Freed, Innosoft
`June 1992
`
`MIME (Multipurpose Internet Mail Extensions):
`
`Mechanisms for Specifying and Describing
`the Format of Internet Message Bodies
`
`Status of this Memo
`
`This RFC specifies an IAB standards track protocol for the Internet community, and
`requests discussion and suggestions for improvements. Please refer to the current edition
`of the "IAB Official Protocol Standards" for the standardization state and status of this
`protocol. Distribution of this memo is unlimited.
`
`Abstract
`
`RFC 822 defines a message representation protocol which specifies considerable detail
`about message headers, but which leaves the message content, or message body, as flat
`ASCII text. This document redefines the format of message bodies to allow multi-part
`textual and non-textual message bodies to be represented and exchanged without loss of
`information. This is based on earlier work documented in RFC 934 and RFC 1049, but
`extends and revises that work. Because RFC 822 said so little about message bodies, this
`document is largely orthogonal to (rather than a revision of) RFC 822.
`
`In particular, this document is designed to provide facilities to include multiple objects in
`a single message, to represent body text in character sets other than US-ASCII, to
`represent formatted multi-font text messages, to represent non-textual material such as
`images and audio fragments, and generally to facilitate later extensions defining new
`types of Internet mail for use by cooperating mail agents.
`
`This document does NOT extend Internet mail header fields to permit anything other
`than US-ASCII text data. It is recognized that such extensions are necessary, and they
`are the subject of a companion document [RFC -1342].
`
`A table of contents appears at the end of this document.
`
`Borenstein & Freed
`
`[Page i]
`
`Ex. 1008 - Page 1 of 70
`
`Groupon, Inc.
`Exhibit 1008
`
`

`

`1
`
`Introduction
`
`Since its publication in 1982, RFC 822 [RFC-822] has defined the standard format of
`textual mail messages on the Internet. Its success has been such that the RFC 822 format
`has been adopted, wholly or partially, well beyond the confines of the Internet and the
`Internet SMTP transport defined by RFC 821 [RFC-821]. As the format has seen wider
`use, a number of limitations have proven increasingly restrictive for the user community.
`
`RFC 822 was intended to specify a format for text messages. As such, non-text
`messages, such as multimedia messages that might include audio or images, are simply
`not mentioned. Even in the case of text, however, RFC 822 is inadequate for the needs of
`mail users whose languages require the use of character sets richer than US ASCII [US-
`ASCII]. Since RFC 822 does not specify mechanisms for mail containing audio, video,
`Asian language text, or even text in most European languages, additional specifications
`are needed
`
`One of the notable limitations of RFC 821/822 based mail systems is the fact that they
`limit the contents of electronic mail messages to relatively short lines of seven-bit ASCII.
`This forces users to convert any non-textual data that they may wish to send into seven-
`bit bytes representable as printable ASCII characters before invoking a local mail UA
`(User Agent, a program with which human users send and receive mail). Examples of
`such encodings currently used in the Internet include pure hexadecimal, uuencode, the
`3-in-4 base 64 scheme specified in RFC 1113, the Andrew Toolkit Representation
`[ATK], and many others.
`
`The limitations of RFC 822 mail become even more apparent as gateways are designed
`to allow for the exchange of mail messages between RFC 822 hosts and X.400 hosts.
`X.400 [X400] specifies mechanisms for the inclusion of non-textual body parts within
`electronic mail messages. The current standards for the mapping of X.400 messages to
`RFC 822 messages specify that either X.400 non-textual body parts should be converted
`to (not encoded in) an ASCII format, or that they should be discarded, notifying the RFC
`822 user that discarding has occurred. This is clearly undesirable, as information that a
`user may wish to receive is lost. Even though a user’s UA may not have the capability of
`dealing with the non-textual body part, the user might have some mechanism external to
`the UA that can extract useful information from the body part. Moreover, it does not
`allow for the fact that the message may eventually be gatewayed back into an X.400
`message handling system (i.e., the X.400 message is "tunneled" through Internet mail),
`where the non-textual information would definitely become useful again.
`
`This document describes several mechanisms that combine to solve most of these
`problems without introducing any serious incompatibilities with the existing world of
`RFC 822 mail. In particular, it describes:
`
`1. A MIME-Version header field, which uses a version number to declare a message to
`be conformant with this specification and allows mail processing agents to
`distinguish between such messages and those generated by older or non-
`
`Borenstein & Freed
`
`[Page 1]
`
`Ex. 1008 - Page 2 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`conformant software, which is presumed to lack such a field.
`
`2. A Content-Type header field, generalized from RFC 1049 [RFC-1049], which can be
`used to specify the type and subtype of data in the body of a message and to fully
`specify the native representation (encoding) of such data.
`
`textual
`2.a. A "text" Content-Type value, which can be used to represent
`information in a number of character sets and formatted text description
`languages in a standardized manner.
`
`2.b. A "multipart" Content-Type value, which can be used to combine several
`body parts, possibly of differing types of data, into a single message.
`
`2.c. An "application" Content-Type value, which can be used to transmit
`application data or binary data, and hence, among other uses,
`to
`implement an electronic mail file transfer service.
`
`2.d. A "message" Content-Type value, for encapsulating a mail message.
`
`2.e An "image" Content-Type value, for transmitting still image (picture) data.
`
`2.f. An "audio" Content-Type value, for transmitting audio or voice data.
`
`2.g. A "video" Content-Type value, for transmitting video or moving image
`data, possibly with audio as part of the composite video data format.
`
`3. A Content-Transfer-Encoding header field, which can be used to specify an auxiliary
`encoding that was applied to the data in order to allow it to pass through mail
`transport mechanisms which may have data or character set limitations.
`
`4. Two optional header fields that can be used to further describe the data in a message
`body, the Content-ID and Content-Description header fields.
`
`MIME has been carefully designed as an extensible mechanism, and it is expected that
`the set of content-type/subtype pairs and their associated parameters will grow
`significantly with time. Several other MIME fields, notably including character set
`names, are likely to have new values defined over time. In order to ensure that the set of
`such values is developed in an orderly, well-specified, and public manner, MIME defines
`a registration process which uses the Internet Assigned Numbers Authority (IANA) as a
`central registry for such values. Appendix F provides details about how IANA
`registration is accomplished.
`
`Finally, to specify and promote interoperability, Appendix A of this document provides a
`basic applicability statement for a subset of the above mechanisms that defines a minimal
`level of "conformance" with this document.
`
`Borenstein & Freed
`
`[Page 2]
`
`Ex. 1008 - Page 3 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`HISTORICAL NOTE: Several of the mechanisms described in this document may seem
`somewhat strange or even baroque at first reading.
`It
`is important
`to note that
`compatibility with existing standards AND robustness across existing practice were two
`of the highest priorities of the working group that developed this document.
`In
`particular, compatibility was always favored over elegance.
`
`2
`
`Notations, Conventions, and Generic BNF Grammar
`
`This document is being published in two versions, one as plain ASCII text and one as
`PostScript. The latter is recommended, though the textual contents are identical. An
`Andrew-format copy of this document is also available from the first author (Borenstein).
`
`Although the mechanisms specified in this document are all described in prose, most are
`also described formally in the modified BNF notation of RFC 822. Implementors will
`need to be familiar with this notation in order to understand this specification, and are
`referred to RFC 822 for a complete explanation of the modified BNF notation.
`
`Some of the modified BNF in this document makes reference to syntactic entities that are
`defined in RFC 822 and not in this document. A complete formal grammar, then, is
`obtained by combining the collected grammar appendix of this document with that of
`RFC 822.
`
`The term CRLF, in this document, refers to the sequence of the two ASCII characters CR
`(13) and LF (10) which, taken together, in this order, denote a line break in RFC 822
`mail.
`
`The term "character set", wherever it is used in this document, refers to a coded character
`set,
`in the sense of
`ISO character set standardization work, and must not be
`misinterpreted as meaning "a set of characters."
`
`The term "message", when not further qualified, means either the (complete or "top-
`level") message being transferred on a network, or a message encapsulated in a body of
`type "message".
`
`The term "body part", in this document, means one of the parts of the body of a multipart
`entity. A body part has a header and a body, so it makes sense to speak about the body of
`a body part.
`
`The term "entity", in this document, means either a message or a body part. All kinds of
`entities share the property that they have a header and a body.
`
`The term "body", when not further qualified, means the body of an entity, that is the body
`of either a message or of a body part.
`
`Borenstein & Freed
`
`[Page 3]
`
`Ex. 1008 - Page 4 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`Note : the previous four definitions are clearly circular. This is unavoidable, since the
`overal structure of a MIME message is indeed recursive.
`
`In this document, all numeric and octet values are given in decimal notation.
`
`It must be noted that Content-Type values, subtypes, and parameter names as defined in
`this document are case-insensitive. However, parameter values are case-sensitive unless
`otherwise specified for the specific parameter.
`
`FORMATTING NOTE: This document has been carefully formatted for ease of reading.
`The PostScript version of this document, in particular, places notes like this one, which
`may be skipped by the reader, in a smaller, italicized, font, and indents it as well. In the
`text version, only the indentation is preserved, so if you are reading the text version of
`this you might consider using the PostScript version instead. However, all such notes will
`be indented and preceded by "NOTE:" or some similar introduction, even in the text
`version.
`
`The primary purpose of these non-essential notes is to convey information about the
`rationale of this document, or to place this document
`in the proper historical or
`evolutionary context. Such information may be skipped by those who are focused
`entirely on building a compliant implementation, but may be of use to those who wish to
`understand why this document is written as it is.
`
`For ease of recognition, all BNF definitions have been placed in a fixed-width font in the
`PostScript version of this document.
`
`3
`
`The MIME-Version Header Field
`
`Since RFC 822 was published in 1982, there has really been only one format standard for
`Internet messages, and there has been little perceived need to declare the format standard
`in use. This document
`is an independent document
`that complements RFC 822.
`Although the extensions in this document have been defined in such a way as to be
`compatible with RFC 822, there are still circumstances in which it might be desirable for
`a mail-processing agent
`to know whether a message was composed with the new
`standard in mind.
`
`Therefore, this document defines a new header field, "MIME-Version", which is to be
`used to declare the version of the Internet message body format standard in use.
`
`Messages composed in accordance with this document MUST include such a header
`field, with the following verbatim text:
`
`Borenstein & Freed
`
`[Page 4]
`
`Ex. 1008 - Page 5 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`MIME-Version: 1.0
`
`The presence of this header field is an assertion that the message has been composed in
`compliance with this document.
`
`Since it is possible that a future document might extend the message format standard
`again, a formal BNF is given for the content of the MIME-Version field:
`
`MIME-Version := text
`
`Thus, future format specifiers, which might replace or extend "1.0", are (minimally)
`constrained by the definition of "text", which appears in RFC 822.
`
`Note that the MIME-Version header field is required at the top level of a message. It is
`not required for each body part of a multipart entity. It is required for the embedded
`headers of a body of type "message" if and only if the embedded message is itself
`claimed to be MIME-compliant.
`
`4
`
`The Content-Type Header Field
`
`The purpose of the Content-Type field is to describe the data contained in the body fully
`enough that the receiving user agent can pick an appropriate agent or mechanism to
`present the data to the user, or otherwise deal with the data in an appropriate manner.
`
`HISTORICAL NOTE: The Content-Type header field was first defined in RFC 1049.
`RFC 1049 Content-types used a simpler and less powerful syntax, but one that is largely
`compatible with the mechanism given here.
`
`The Content-Type header field is used to specify the nature of the data in the body of an
`entity, by giving type and subtype identifiers, and by providing auxiliary information that
`may be required for certain types. After the type and subtype names, the remainder of
`the header field is simply a set of parameters, specified in an attribute/value notation.
`The set of meaningful parameters differs for the different
`types. The ordering of
`parameters is not significant. Among the defined parameters is a "charset" parameter by
`which the character set used in the body may be declared. Comments are allowed in
`accordance with RFC 822 rules for structured header fields.
`
`In general, the top-level Content-Type is used to declare the general type of data, while
`the subtype specifies a specific format for that type of data. Thus, a Content-Type of
`"image/xyz" is enough to tell a user agent that the data is an image, even if the user agent
`has no knowledge of the specific image format "xyz". Such information can be used, for
`example, to decide whether or not to show a user the raw data from an unrecognized
`subtype -- such an action might be reasonable for unrecognized subtypes of text, but not
`for unrecognized subtypes of image or audio. For this reason, registered subtypes of
`audio, image, text, and video, should not contain embedded information that is really of a
`different type. Such compound types should be represented using the "multipart" or
`
`Borenstein & Freed
`
`[Page 5]
`
`Ex. 1008 - Page 6 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`"application" types.
`
`Parameters are modifiers of the content-subtype, and do not fundamentally affect the
`requirements of the host system. Although most parameters make sense only with
`certain content-types, others are "global" in the sense that they might apply to any
`subtype. For example, the "boundary" parameter makes sense only for the "multipart"
`content-type, but the "charset" parameter might make sense with several content-types.
`
`An initial set of seven Content-Types is defined by this document. This set of top-level
`names is intended to be substantially complete. It is expected that additions to the larger
`set of supported types can generally be accomplished by the creation of new subtypes of
`these initial types.
`In the future, more top-level types may be defined only by an
`extension to this standard. If another primary type is to be used for any reason, it must be
`given a name starting with "X-" to indicate its non-standard status and to avoid a
`potential conflict with a future official name.
`
`In the Extended BNF notation of RFC 822, a Content-Type header field value is defined
`as follows:
`
`Content-Type := type "/" subtype *[";" parameter]
`
`type :=
`
`"application"
`/ "image"
`/ "multipart"
`/ "video"
`
`/ "audio"
`/ "message"
`/ "text"
`/ x-token
`
`x-token := <The two characters "X-" followed, with no
`intervening white space, by any token>
`
`subtype := token
`
`parameter := attribute "=" value
`
`attribute := token
`
`value := token / quoted-string
`
`token := 1*<any CHAR except SPACE, CTLs, or tspecials>
`
`tspecials := "(" / ")" / "<" / ">" / "@" ; Must be in
`/ "," / ";" / ":" / "\" / <"> ; quoted-string,
`/ "/" / "[" / "]" / "?" / "." ; to use within
`/ "="
`; parameter values
`
`Note that the definition of "tspecials" is the same as the RFC 822 definition of "specials"
`with the addition of the three characters "/", "?", and "=".
`
`Note also that a subtype specification is MANDATORY. There are no default subtypes.
`
`Borenstein & Freed
`
`[Page 6]
`
`Ex. 1008 - Page 7 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`The type, subtype, and parameter names are not case sensitive. For example, TEXT,
`Text, and TeXt are all equivalent. Parameter values are normally case sensitive, but
`certain parameters are interpreted to be case-insensitive, depending on the intended use.
`(For example, multipart boundaries are case-sensitive, but
`the "access-type" for
`message/External-body is not case-sensitive.)
`
`Beyond this syntax, the only constraint on the definition of subtype names is the desire
`that their uses must not conflict. That is, it would be undesirable to have two different
`communities using "Content-Type: application/foobar" to mean two different things.
`The process of defining new content-subtypes, then, is not intended to be a mechanism
`for imposing restrictions, but simply a mechanism for publicizing the usages. There are,
`therefore, two acceptable mechanisms for defining new Content-Type subtypes:
`
`1. Private values (starting with "X-") may be defined bilaterally between
`two
`cooperating
`agents without
`outside
`registration
`or
`standardization.
`
`2. New standard values must be documented, registered with, and
`approved by IANA, as described in Appendix F. Where intended
`for public use, the formats they refer to must also be defined by a
`published specification, and possibly offered for standardization.
`
`The seven standard initial predefined Content-Types are detailed in the bulk of this
`document. They are:
`
`text --
`
`indicates plain
`information. The primary subtype, "plain",
`textual
`(unformatted) text. No special software is required to get
`the full
`meaning of the text, aside from support for the indicated character set.
`Subtypes are to be used for enriched text in forms where application
`software may enhance the appearance of the text, but such software must
`not be required in order to get the general idea of the content. Possible
`subtypes thus include any readable word processor format. A very simple
`and portable subtype, richtext, is defined in this document.
`multipart -- data consisting of multiple parts of independent data types. Four
`initial subtypes are defined,
`including the primary "mixed" subtype,
`"alternative" for representing the same data in multiple formats, "parallel"
`for parts intended to be viewed simultaneously, and "digest" for multipart
`entities in which each part is of type "message".
`message -- an encapsulated message. A body of Content-Type "message" is itself
`a fully formatted RFC 822 conformant message which may contain its
`own different Content-Type header field. The primary subtype is
`"rfc822". The "partial" subtype is defined for partial messages, to permit
`the fragmented transmission of bodies that are thought to be too large to
`be passed through mail transport facilities. Another subtype, "External-
`body", is defined for specifying large bodies by reference to an external
`data source.
`
`Borenstein & Freed
`
`[Page 7]
`
`Ex. 1008 - Page 8 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`image --
`Image requires a display device (such as a graphical
`image data.
`display, a printer, or a FAX machine) to view the information.
`Initial
`subtypes are defined for two widely-used image formats, jpeg and gif.
`audio -- audio data, with initial subtype "basic". Audio requires an audio output
`device (such as a speaker or a telephone) to "display" the contents.
`video -- video data. Video requires the capability to display moving images,
`typically including specialized hardware and software. The initial subtype
`is "mpeg".
`application -- some other kind of data, typically either uninterpreted binary data
`or information to be processed by a mail-based application. The primary
`subtype, "octet-stream", is to be used in the case of uninterpreted binary
`data, in which case the simplest recommended action is to offer to write
`the information into a file for the user. Two additional subtypes, "ODA"
`and "PostScript", are defined for
`transporting ODA and PostScript
`documents in bodies. Other expected uses for "application" include
`spreadsheets, data for mail-based scheduling systems, and languages for
`"active" (computational) email.
`(Note that active email entails several
`securityconsiderations, which are discussed later
`in this memo,
`particularly in the context of application/PostScript.)
`
`Default RFC 822 messages are typed by this protocol as plain text in the US-ASCII
`character set, which can be explicitly specified as "Content-type:
`text/plain; charset=us-
`ascii". If no Content-Type is specified, either by error or by an older user agent, this
`default is assumed.
`In the presence of a MIME-Version header field, a receiving User
`Agent can also assume that plain US-ASCII text was the sender’s intent. In the absence
`of a MIME-Version specification, plain US-ASCII text must still be assumed, but the
`sender’s intent might have been otherwise.
`
`In the absence of any Content-Type header field or MIME-Version
`RATIONALE:
`header field, it is impossible to be certain that a message is actually text in the US-ASCII
`character set, since it might well be a message that, using the conventions that predate
`this document, includes text in another character set or non-textual data in a manner that
`cannot be automatically recognized (e.g., a uuencoded compressed UNIX tar file).
`Although there is no fully acceptable alternative to treating such untyped messages as
`"text/plain; charset=us-ascii", implementors should remain aware that if a message lacks
`both the MIME-Version and the Content-Type header fields, it may in practice contain
`almost anything.
`
`It should be noted that the list of Content-Type values given here may be augmented in
`time, via the mechanisms described above, and that the set of subtypes is expected to
`grow substantially.
`
`When a mail reader encounters mail with an unknown Content-type value, it should
`generally treat it as equivalent to "application/octet-stream", as described later in this
`document.
`
`Borenstein & Freed
`
`[Page 8]
`
`Ex. 1008 - Page 9 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`5
`
`The Content-Transfer-Encoding Header Field
`
`Many Content-Types which could usefully be transported via email are represented, in
`their "natural" format, as 8-bit character or binary data. Such data cannot be transmitted
`over some transport protocols. For example, RFC 821 restricts mail messages to 7-bit
`US-ASCII data with 1000 character lines.
`
`It is necessary, therefore, to define a standard mechanism for re-encoding such data into a
`7-bit short-line format. This document specifies that such encodings will be indicated by
`a new "Content-Transfer-Encoding" header field. The Content-Transfer-Encoding field
`is used to indicate the type of transformation that has been used in order to represent the
`body in an acceptable manner for transport.
`
`is
`a proliferation of Content-Transfer-Encoding values
`Unlike Content-Types,
`undesirable and unnecessary. However, establishing only a single Content-Transfer-
`Encoding mechanism does not seem possible. There is a tradeoff between the desire for
`a compact and efficient encoding of largely-binary data and the desire for a readable
`encoding of data that is mostly, but not entirely, 7-bit data. For this reason, at least two
`encoding mechanisms are necessary: a "readable" encoding and a "dense" encoding.
`
`The Content-Transfer-Encoding field is designed to specify an invertible mapping
`between the "native" representation of a type of data and a representation that can be
`readily exchanged using 7 bit mail transport protocols, such as those defined by RFC 821
`(SMTP). This field has not been defined by any previous standard. The field’s value is a
`single token specifying the type of encoding, as enumerated below. Formally:
`
`Content-Transfer-Encoding := "BASE64" / "QUOTED-PRINTABLE" /
`"8BIT"
`/ "7BIT" /
`"BINARY" / x-token
`
`These values are not case sensitive. That is, Base64 and BASE64 and bAsE64 are all
`equivalent. An encoding type of 7BIT requires that the body is already in a seven-bit
`mail-ready representation. This is the default value -- that
`is, "Content-Transfer-
`Encoding: 7BIT" is assumed if the Content-Transfer-Encoding header field is not present.
`
`The values "8bit", "7bit", and "binary" all imply that NO encoding has been performed.
`However, they are potentially useful as indications of the kind of data contained in the
`object, and therefore of the kind of encoding that might need to be performed for
`transmission in a given transport system. "7bit" means that the data is all represented as
`short lines of US-ASCII data. "8bit" means that the lines are short, but there may be
`non-ASCII characters (octets with the high-order bit set). "Binary" means that not only
`may non-ASCII characters be present, but also that the lines are not necessarily short
`enough for SMTP transport.
`
`The difference between "8bit" (or any other conceivable bit-width token) and the
`"binary" token is that "binary" does not require adherence to any limits on line length or
`to the SMTP CRLF semantics, while the bit-width tokens do require such adherence. If
`
`Borenstein & Freed
`
`[Page 9]
`
`Ex. 1008 - Page 10 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`the body contains data in any bit-width other than 7-bit, the appropriate bit-width
`Content-Transfer-Encoding token must be used (e.g., "8bit" for unencoded 8 bit wide
`data). If the body contains binary data, the "binary" Content-Transfer-Encoding token
`must be used.
`
`NOTE: The distinction between the Content-Transfer-Encoding values of "binary,"
`"8bit," etc. may seem unimportant, in that all of them really mean "none" -- that is, there
`has been no encoding of the data for transport. However, clear labeling will be of
`enormous value to gateways between future mail
`transport systems with differing
`capabilities in transporting data that do not meet the restrictions of RFC 821 transport.
`
`As of the publication of this document, there are no standardized Internet transports for
`which it is legitimate to include unencoded 8-bit or binary data in mail bodies. Thus there
`are no circumstances in which the "8bit" or "binary" Content-Transfer-Encoding is
`actually legal on the Internet. However, in the event that 8-bit or binary mail transport
`becomes a reality in Internet mail, or when this document is used in conjunction with any
`other 8-bit or binary-capable transport mechanism, 8-bit or binary bodies should be
`labeled as such using this mechanism.
`
`NOTE: The five values defined for the Content-Transfer-Encoding field imply nothing
`about the Content-Type other than the algorithm by which it was encoded or the transport
`system requirements if unencoded.
`
`Implementors may, if necessary, define new Content-Transfer-Encoding values, but must
`use an x-token, which is a name prefixed by "X-" to indicate its non-standard status, e.g.,
`"Content-Transfer-Encoding: x-my-new-encoding". However, unlike Content-Types
`and subtypes, the creation of new Content-Transfer-Encoding values is explicitly and
`strongly discouraged, as it seems likely to hinder interoperability with little potential
`benefit. Their use is allowed only as the result of an agreement between cooperating user
`agents.
`
`If a Content-Transfer-Encoding header field appears as part of a message header, it
`applies to the entire body of that message. If a Content-Transfer-Encoding header field
`appears as part of a body part’s headers, it applies only to the body of that body part. If
`an entity is of type "multipart" or "message", the Content-Transfer-Encoding is not
`permitted to have any value other than a bit width (e.g., "7bit", "8bit", etc.) or "binary".
`
`It should be noted that email is character-oriented, so that the mechanisms described here
`are mechanisms for encoding arbitrary byte streams, not bit streams. If a bit stream is to
`be encoded via one of these mechanisms, it must first be converted to an 8-bit byte
`stream using the network standard bit order ("big-endian"), in which the earlier bits in a
`stream become the higher-order bits in a byte. A bit stream not ending at an 8-bit
`boundary must be padded with zeroes. This document provides a mechanism for noting
`the addition of such padding in the case of the application Content-Type, which has a
`"padding" parameter.
`
`Borenstein & Freed
`
`[Page 10]
`
`Ex. 1008 - Page 11 of 70
`
`

`

`RFC 1341
`
`MIME: Multipurpose Internet Mail Extensions
`
`June 1992
`
`The encoding mechanisms defined here explicitly encode all data in ASCII. Thus, for
`example, suppose an entity has header fields such as:
`
`Content-Type: text/plain; charset=ISO-8859-1
`Content-transfer-encoding: base64
`
`This should be interpreted to mean that the body is a base64 ASCII encoding of data that
`was originally in ISO-8859-1, and will be in that character set again after decoding.
`
`The following sections will define the two standard encoding mechanisms. The
`definition of new content-transfer-encodings is explicitly discouraged and should only
`occur when absolutely necessary. All content-transfer-encoding namespace except that
`beginning with "X-" is explicitly reserved to the IANA for future use. Private
`agreements about content-transfer-encodings are also explicitly discouraged.
`
`Certain Content-Transfer-Encoding values may only be used on certain Content-Types.
`In particular, it is expressly forbidden to use any encodings other than "7bit", "8bit",
`or "binary" with any Content-Type that recursively includes other Content-Type
`fields, notably the "multipart" and "message" Content-Types. All encodings that
`are desired for bodies of type multipart or message must be done at the innermost level,
`by encoding the actual body that needs to be encoded.
`
`NOTE ON ENCODING RESTRICTIONS: Though the prohibition against using
`content-transfer-encodings on data of type multipart or message may seem overly
`restrictive, it is necessary to prevent nested encodings, in which data are passed through
`an encoding algorithm multiple times, and must be decoded multiple times in order to be
`properly viewed. Nested encodings add considerable complexity to user agents: aside
`from the obvious efficiency problems with such multiple encodings, they can obscure the
`basic structure of a message.
`In particular,
`they can imply that several decoding
`operations are necessary simply to find out what types of objects a message contains.
`Banning nested encodings may complicate the job of certain mail gateways, but this
`seems less of a problem than the effect of nested encodings on user agents.
`
`NOTE ON THE RELATIONSHIP BETWEEN CONTENT-TYPE AND CONTENT-
`TRANSFER-ENCODING: It may seem that the Content-Transfer-Encoding could be
`inferred from the characteristics of the Content-Type that is to be encoded, or, at the very
`least, that certain Content-Transfer-Encodings could be mandated for use with specific
`Content-Types. There are several reasons why this is not the case. First, given the
`varying types of transports used for mail, some encodings may be appropriate for some
`Content-Type/transport combinations and not for others. (For example, in an 8-bit
`transport, no encoding would be required for text in certain character sets, while such
`encodings are clearly required for 7-bit SMTP.) Second, certain Content-Types may
`require different types of tran

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket