PROXY  WHOIS  RQUOTE  TEXTS  SOFT  FOREX  BBOARD
 Music  Philosophy  Code  Literature  Russian

= ROOT|Technical|RFC|rfc2048.txt =

page 10 of 12





4.  Transfer Encodings

   Transfer encodings are tranformations applied to MIME media types
   after conversion to the media type's canonical form.  Transfer
   encodings are used for several purposes:

    (1)   Many transports, especially message transports, can
          only handle data consisting of relatively short lines
          of text. There can also be severe restrictions on what
          characters can be used in these lines of text -- some
          transports are restricted to a small subset of US-ASCII
          and others cannot handle certain character sequences.
          Transfer encodings are used to transform binary data
          into textual form that can survive such transports.
          Examples of this sort of transfer encoding include the
          base64 and quoted-printable transfer encodings defined
          in RFC 2045.

    (2)   Image, audio, video, and even application entities are
          sometimes quite large. Compression algorithms are often
          quite effective in reducing the size of large entities.
          Transfer encodings can be used to apply general-purpose
          non-lossy compression algorithms to MIME entities.

    (3)   Transport encodings can be defined as a means of
          representing existing encoding formats in a MIME
          context.

   IMPORTANT:  The standardization of a large numbers of different
   transfer encodings is seen as a significant barrier to widespread
   interoperability and is expressely discouraged.  Nevertheless, the
   following procedure has been defined to provide a means of defining
   additional transfer encodings, should standardization actually be
   justified.

4.1.  Transfer Encoding Requirements

   Transfer encoding specifications must conform to a number of
   requirements as described below.

4.1.1.  Naming Requirements

   Each transfer encoding must have a unique name.  This name appears in
   the Content-Transfer-Encoding header field and must conform to the
   syntax of that field.







 
RFC 2048              MIME Registration Procedures         November 1996


4.1.2.  Algorithm Specification Requirements

   All of the algorithms used in a transfer encoding (e.g.  conversion
   to printable form, compression) must be described in their entirety
   in the transfer encoding specification.  Use of secret and/or
   proprietary algorithms in standardized transfer encodings are
   expressly prohibited. The restrictions imposed by RFC 1602 on the
   standardization of patented algorithms must be respected as well.

4.1.3.  Input Domain Requirements

   All transfer encodings must be applicable to an arbitrary sequence of
   octets of any length.  Dependence on particular input forms is not
   allowed.

   It should be noted that the 7bit and 8bit encodings do not conform to
   this requirement. Aside from the undesireability of having
   specialized encodings, the intent here is to forbid the addition of
   additional encodings along the lines of 7bit and 8bit.

4.1.4.  Output Range Requirements

   There is no requirement that a particular tranfer encoding produce a
   particular form of encoded output.  However, the output format for
   each transfer encoding must be fully and completely documented.  In
   particular, each specification must clearly state whether the output
   format always lies within the confines of 7bit data, 8bit data, or is
   simply pure binary data.

4.1.5.  Data Integrity and Generality Requirements

   All transfer encodings must be fully invertible on any platform; it
   must be possible for anyone to recover the original data by
   performing the corresponding decoding operation.  Note that this
   requirement effectively excludes all forms of lossy compression as
   well as all forms of encryption from use as a transfer encoding.

4.1.6.  New Functionality Requirements

   All transfer encodings must provide some sort of new functionality.
   Some degree of functionality overlap with previously defined transfer
   encodings is acceptable, but any new transfer encoding must also
=10=

1.4|5|6|7|8|9| < PREV = PAGE 10 = NEXT > |11|12

UP TO ROOT | UP TO DIR | TO FIRST PAGE

Google
 


E-mail Facebook Google Digg del.icio.us BlinkList Fark Furl Ma.gnolia Netscape NewsVine Reddit Slashdot Spurl StumbleUpon Technorati YahooMyWeb LiveJournal Blogmarks TwitThis Live News2.ru BobrDobr.ru Memori.ru MoeMesto.ru

0.0132189 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU)