⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2045.txt

📁 穿越防火墙技术代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   For example, the "charset" parameter is applicable to any subtype of   "text", while the "boundary" parameter is required for any subtype of   the "multipart" media type.   There are NO globally-meaningful parameters that apply to all media   types.  Truly global mechanisms are best addressed, in the MIME   model, by the definition of additional Content-* header fields.   An initial set of seven top-level media types is defined in RFC 2046.   Five of these are discrete types whose content is essentially opaque   as far as MIME processing is concerned.  The remaining two are   composite types whose contents require additional handling by MIME   processors.   This set of top-level media types 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 a standards-track extension to this standard.   If another top-level 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.Freed & Borenstein          Standards Track                    [Page 11]RFC 2045                Internet Message Bodies            November 19965.1.  Syntax of the Content-Type Header Field   In the Augmented BNF notation of RFC 822, a Content-Type header field   value is defined as follows:     content := "Content-Type" ":" type "/" subtype                *(";" parameter)                ; Matching of media type and subtype                ; is ALWAYS case-insensitive.     type := discrete-type / composite-type     discrete-type := "text" / "image" / "audio" / "video" /                      "application" / extension-token     composite-type := "message" / "multipart" / extension-token     extension-token := ietf-token / x-token     ietf-token := <An extension token defined by a                    standards-track RFC and registered                    with IANA.>     x-token := <The two characters "X-" or "x-" followed, with                 no intervening white space, by any token>     subtype := extension-token / iana-token     iana-token := <A publicly-defined extension token. Tokens                    of this form must be registered with IANA                    as specified in RFC 2048.>     parameter := attribute "=" value     attribute := token                  ; Matching of attributes                  ; is ALWAYS case-insensitive.     value := token / quoted-string     token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,                 or tspecials>     tspecials :=  "(" / ")" / "<" / ">" / "@" /                   "," / ";" / ":" / "\" / <">                   "/" / "[" / "]" / "?" / "="                   ; Must be in quoted-string,                   ; to use within parameter valuesFreed & Borenstein          Standards Track                    [Page 12]RFC 2045                Internet Message Bodies            November 1996   Note that the definition of "tspecials" is the same as the RFC 822   definition of "specials" with the addition of the three characters   "/", "?", and "=", and the removal of ".".   Note also that a subtype specification is MANDATORY -- it may not be   omitted from a Content-Type header field.  As such, there are no   default subtypes.   The type, subtype, and parameter names are not case sensitive.  For   example, TEXT, Text, and TeXt are all equivalent top-level media   types.  Parameter values are normally case sensitive, but sometimes   are interpreted in a case-insensitive fashion, depending on the   intended use.  (For example, multipart boundaries are case-sensitive,   but the "access-type" parameter for message/External-body is not   case-sensitive.)   Note that the value of a quoted string parameter does not include the   quotes.  That is, the quotation marks in a quoted-string are not a   part of the value of the parameter, but are merely used to delimit   that parameter value.  In addition, comments are allowed in   accordance with RFC 822 rules for structured header fields.  Thus the   following two forms     Content-type: text/plain; charset=us-ascii (Plain text)     Content-type: text/plain; charset="us-ascii"   are completely equivalent.   Beyond this syntax, the only syntactic 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 media subtypes, then, is not   intended to be a mechanism for imposing restrictions, but simply a   mechanism for publicizing their definition and usage.  There are,   therefore, two acceptable mechanisms for defining new media subtypes:    (1)   Private values (starting with "X-") may be defined          bilaterally between two cooperating agents without          outside registration or standardization. Such values          cannot be registered or standardized.    (2)   New standard values should be registered with IANA as          described in RFC 2048.   The second document in this set, RFC 2046, defines the initial set of   media types for MIME.Freed & Borenstein          Standards Track                    [Page 13]RFC 2045                Internet Message Bodies            November 19965.2.  Content-Type Defaults   Default RFC 822 messages without a MIME Content-Type header are taken   by this protocol to be plain text in the US-ASCII character set,   which can be explicitly specified as:     Content-type: text/plain; charset=us-ascii   This default is assumed if no Content-Type header field is specified.   It is also recommend that this default be assumed when a   syntactically invalid Content-Type header field is encountered. In   the presence of a MIME-Version header field and the absence of any   Content-Type header field, a receiving User Agent can also assume   that plain US-ASCII text was the sender's intent.  Plain US-ASCII   text may still be assumed in the absence of a MIME-Version or the   presence of an syntactically invalid Content-Type header field, but   the sender's intent might have been otherwise.6.  Content-Transfer-Encoding Header Field   Many media types which could be usefully transported via email are   represented, in their "natural" format, as 8bit character or binary   data.  Such data cannot be transmitted over some transfer protocols.   For example, RFC 821 (SMTP) restricts mail messages to 7bit US-ASCII   data with lines no longer than 1000 characters including any trailing   CRLF line separator.   It is necessary, therefore, to define a standard mechanism for   encoding such data into a 7bit short line format.  Proper labelling   of unencoded material in less restrictive formats for direct use over   less restrictive transports is also desireable.  This document   specifies that such encodings will be indicated by a new "Content-   Transfer-Encoding" header field.  This field has not been defined by   any previous standard.6.1.  Content-Transfer-Encoding Syntax   The Content-Transfer-Encoding field's value is a single token   specifying the type of encoding, as enumerated below.  Formally:     encoding := "Content-Transfer-Encoding" ":" mechanism     mechanism := "7bit" / "8bit" / "binary" /                  "quoted-printable" / "base64" /                  ietf-token / x-token   These values are not case sensitive -- Base64 and BASE64 and bAsE64   are all equivalent.  An encoding type of 7BIT requires that the bodyFreed & Borenstein          Standards Track                    [Page 14]RFC 2045                Internet Message Bodies            November 1996   is already in a 7bit 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.6.2.  Content-Transfer-Encodings Semantics   This single Content-Transfer-Encoding token actually provides two   pieces of information.  It specifies what sort of encoding   transformation the body was subjected to and hence what decoding   operation must be used to restore it to its original form, and it   specifies what the domain of the result is.   The transformation part of any Content-Transfer-Encodings specifies,   either explicitly or implicitly, a single, well-defined decoding   algorithm, which for any sequence of encoded octets either transforms   it to the original sequence of octets which was encoded, or shows   that it is illegal as an encoded sequence.  Content-Transfer-   Encodings transformations never depend on any additional external   profile information for proper operation. Note that while decoders   must produce a single, well-defined output for a valid encoding no   such restrictions exist for encoders: Encoding a given sequence of   octets to different, equivalent encoded sequences is perfectly legal.   Three transformations are currently defined: identity, the "quoted-   printable" encoding, and the "base64" encoding.  The domains are   "binary", "8bit" and "7bit".   The Content-Transfer-Encoding values "7bit", "8bit", and "binary" all   mean that the identity (i.e. NO) encoding transformation has been   performed.  As such, they serve simply as indicators of the domain of   the body data, and provide useful information about the sort of   encoding that might be needed for transmission in a given transport   system.  The terms "7bit data", "8bit data", and "binary data" are   all defined in Section 2.   The quoted-printable and base64 encodings transform their input from   an arbitrary domain into material in the "7bit" range, thus making it   safe to carry over restricted transports.  The specific definition of   the transformations are given below.   The proper Content-Transfer-Encoding label must always be used.   Labelling unencoded data containing 8bit characters as "7bit" is not   allowed, nor is labelling unencoded non-line-oriented data as   anything other than "binary" allowed.   Unlike media subtypes, a proliferation of Content-Transfer-Encoding   values is both undesirable and unnecessary.  However, establishing   only a single transformation into the "7bit" domain does not seemFreed & Borenstein          Standards Track                    [Page 15]RFC 2045                Internet Message Bodies            November 1996   possible.  There is a tradeoff between the desire for a compact and   efficient encoding of largely- binary data and the desire for a   somewhat readable encoding of data that is mostly, but not entirely,   7bit.  For this reason, at least two encoding mechanisms are   necessary: a more or less readable encoding (quoted-printable) and a   "dense" or "uniform" encoding (base64).   Mail transport for unencoded 8bit data is defined in RFC 1652.  As of   the initial publication of this document, there are no standardized   Internet mail transports for which it is legitimate to include   unencoded binary data in mail bodies.  Thus there are no   circumstances in which the "binary" Content-Transfer-Encoding is   actually valid in Internet mail.  However, in the event that binary   mail transport becomes a reality in Internet mail, or when MIME is   used in conjunction with any other binary-capable mail transport   mechanism, binary bodies must be labelled as such using this   mechanism.   NOTE: The five values defined for the Content-Transfer-Encoding field   imply nothing about the media type other than the algorithm by which   it was encoded or the transport system requirements if unencoded.6.3.  New Content-Transfer-Encodings   Implementors may, if necessary, define private 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".  Additional standardized Content-   Transfer-Encoding values must be specified by a standards-track RFC.   The requirements such specifications must meet are given in RFC 2048.   As such, all content-transfer-encoding namespace except that   beginning with "X-" is explicitly reserved to the IETF for future   use.   Unlike media types and subtypes, the creation of new Content-   Transfer-Encoding values is STRONGLY discouraged, as it seems likely   to hinder interoperability with little potential benefit6.4.  Interpretation and Use

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -