rfc724.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,576 行 · 第 1/5 页

TXT
1,576
字号
     what was previously available that  its  experimental  nature  is
     disregarded,  and  it is pressed into service before it has had a


     I. Problems with ARPANET Message Standards                    / 4
     B. Issues and Conclusions



     chance to properly develop and mature.   We  are  very  concerned
     that this phenomenon not afflict the Network mail system any more
     than it already has.

          While it is true that there are several sites  in  the  ARPA
     Community  which  have  mail  systems  that understand the syntax
     specified in RFC's 561 and 680, in addition to some of the  "non-
     standard"  syntax  provided  by  the  mail generating programs at
     several other sites, most mail systems do not parse much  of  the
     contents  of  received  messages.   A consideration of the syntax
     specified here is that messages which are sent to  people  should
     be  easily  read  by  people.   Parsers  which  can turn an ugly,
     syntactically expedient form into something which is easy to read
     are  the  exception,  rather  than  the  rule, in today's message
     systems.  Also, the modifications to the existing  "non-standard"
     syntax  should  be  kept  to a minimum, enhancing the probability
     that the requirement of small perturbations to existing  software
     will be accepted.

          With this syntax, we introduce mechanisms so that:

          1. Users of mail systems can have multiple mailboxes, either
             on  one  machine  or  multiple machines, all of which are
             treated identically; the default mailbox for  a  user  is
             not  necessarily  associated  (directly)  with  his login
             name.

          2. Mail for a person can be sent to  other  than  a  single,
             default mailbox.

          3. Named   groups  may  consist  of  both  individuals   and
             (possibly)  other  named  groups  (i.e.,  nesting  within
             groups is permitted).

          4. Address lists may contain references  to  other,  stored,
             lists.  The complete path with which one can retrieve the
             stored list may be specified in  order  to  allow  either
             manual or automatic retrieval of the stored list.

          5. Address lists may contain references to  addresses  which
             are  not  accessible through the standard ARPANET message
             system.  For example, U.S.  Postal system  addresses  can
             be specified.  Such addresses are, of course, expected to
             be ignored by the  ARPANET  system,  although  individual
             sites  may  provide  services  for  using the information
             (e.g., automatically sending a copy of the  message to  a
             line printer, in preparation for transmission through the
             Postal system).

          6. Parenthetical remarks, or comments, can be  included  and
             syntactically  recognized  as  such  within  some  header
             items.


     I. Problems with ARPANET Message Standards                    / 5
     B. Issues and Conclusions



          7. Received messages are capable of  being  read  by  humans
             without  a  program having to parse the message (or parts
             of it) before presenting the message to the user; however
             there  is  sufficient  formal  syntax to enable a parsing
             program to modify the appearance and content of  material
             presented  to  users.   Although message-display software
             may   exercise   considerable   control   over    message
             appearance, the degree to which a message's actual format
             is  PLEASANT  for  humans  to  read   is   entirely   the
             responsibility of the message creation program.

     No mechanism for authentication is provided,  since  the  Network
     provides  no  mechanisms for enforcing mail security.  The syntax
     does provide for one aspect of "correctness":  a  distinction  is
     made  between  an  address which is claimed to be a valid network
     address and one which is  simply  free  text,  included  for  the
     convenience of the human participants.




     C. MESSAGE PARTS

          Some  confusion  has  existed  over  the  roles  played   by
     different message parts.  Einar Stefferud has suggested using the
     perspective of envelope, letter head, and  letter  content.   The
     presence of structured portions in messages additionally requires
     reference to "headers".

          In  computer-based  message  systems,  human  users  do  not
     generally  encounter  "envelopes",  which  are  often constructed
     automatically, to be  used  by  the  participating  system(s)  to
     deliver  the  message.  For example on TENEX, the envelope is the
     name of the file containing a message awaiting transmission.  For
     FTP  servers,  it is the data portion of the MAIL or MLFL command
     line.  Some systems attach  "envelope-like"  information  to  the
     message header, such as time-stamp and originating host name.

          In paper-based communications,  headers  occur  both  before
     (e.g., "To:" and "From:" and after (e.g., "cc:" and "enclosure:")
     the body of the message.  Within this standard, all headers occur
     before  the  body  of the message, although local message display
     programs may choose to alter that ordering.

          Wayne Hathaway has pointed out that ARPANET  message  format
     does not support specification of letterheads, since these are  a
     type   of   organizational   public   relations   symbol.    Some
     idiosyncrasies are supported, however, by way of choosing special
     field names.

          In general, it is  important  to  realize  that  the  header
     portion  of  a  message  plays several roles during the life of a


     I. Problems with ARPANET Message Standards                    / 6
     C. Message Parts



     message, variously participating in each of the  three  functions
     suggested by Stefferud.



     D. ADOPTION OF THE STANDARD


         During the early phases of specifying this standard, a  great
     deal  of  concern  was  expressed  over the problems which may be
     experienced during the transition from the  current  standard  to
     this  new  one.   We  feel  that  the true problem is the lack of
     realization that THERE IS NO CURRENT OFFICIAL  STANDARD.   Enough
     systems  have  enough  overlapping behaviors to allow the current
     mail environment to function, but this in no  way  constitutes  a
     standard.

          In fact, we  strongly  believe  that  the  new  requirements
     imposed by the proposed standard involve less complexity than the
     ambiguities resulting  from  the  current  variations  in  system
     behaviors.



     II. Standard for the Format of Messages                       / 7







                     II. STANDARD FOR THE FORMAT
                         OF ARPA NETWORK MESSAGES



          This standard supercedes the informal standards specified in
     ARPANET  Request for Comments numbers 561, "Standardizing Network
     Mail Headers", and 680, "Message Transmission Protocol".  In this
     document, a general framework is described.  The formal syntax is
     then specified,  followed  by  a  discussion  of  the  semantics.
     Finally, a number of examples are given.

          This specification is intended strictly as a  definition  of
     what is to be passed  between hosts  on the  ARPANET.   It is NOT
     intended to dictate either features which systems on the  Network
     are  expected  to support, or user interfaces to message creating
     or reading programs.

          A distinction should be made between what the  specification
     requires  and  what it allows.  Certain equivalences are defined,
     such as between a space  character  <space>  and  an  end-of-line
     character  <crlf>, which both facilitate the formal specification
     and indicate  what  the  OFFICIAL  semantics  are  for  messages.
     Particular   implementations   may   wish   to  preserve  further
     distinctions which the specification does not require.



     A. FRAMEWORK


          Since there are many message systems which exist outside the
     ARPANET environment, as well as those within it, it may be useful
     to consider the general framework, and resulting capabilities and
     limitations, of this standard.

          Messages are expected to  consist  of  lines  of  text.   No
     special provisions are made, at this time, for encoding drawings,
     facimile, speech, or structured text.

          No significant consideration has been given to questions  of
     data   compression   or   transmission/storage  efficiency.   The
     standard, in fact, tends to be very free with the number of  bits
     consumed.   For  example, field names are specified as free text,
     rather than special terse codes.

          A general "memo" framework is  used.   That  is,  a  message
     consists  of some information, in a rigid format, followed by the
     main part of the message, which is text  and whose format is  not


     II. Standard for the Format of Messages                       / 8
      A. Framework



     specified  in this document.  The syntax of several fields of the
     rigidly-formated  ("header")   section   is   defined   in   this
     specification;  some of the header fields must be included in all
     messages.  In addition to the fields specified in this  document,
     it  is  expected  that  other fields will gain common use.  User-
     defined header fields allow systems to extend their functionality
     while  maintaining  a uniform framework.  Our approach is similar
     to that of the TELNET protocol, in that we are defining  a  basic
     standard which includes a mechanism  for  (optionally)  extending
     itself.    The   authors  of  this  document  will  regulate  the
     publishing of specifications for these extensions.

          Such a framework severely  constrains  document  "tone"  and
     appearance  and  is  primarily useful for most intra-organization
     communications  and  relatively   structured   inter-organization
     communication.   A more robust environment might allow for multi-
     font, multi-color, multi-dimension encoding  of  information.   A
     less  robust  environment,  as  is present in most single-machine
     message systems, would more severely constrain the ability to add
     fields  and the decision to include specific fields.  Relative to
     paper-based communication, it is interesting  to  note  that  the
     RECEIVER  of  a  message  can exercise an extraordinary amount of
     control over the message's  appearance.   The  amount  of  actual
     control  available  to  message  receivers is contingent upon the
     capabilties of their individual message systems.



     II. Standard for the Format of Messages                       / 9
      B. Syntax





     B.  SYNTAX


          This  syntax  is  given  in  four  parts.   The  first  part
     describes  a  base-level lexical analyzer which feeds the higher-
     level parser described in the succeeding  sections.   The  second
     part  gives  a  general  syntax  for messages and standard header
     fields.  The third part specifies the  syntax  of  addresses.   A
     final  section  specifies  some general syntax which supports the
     other sections.



     1.  LEXICAL ANALYSIS OF MESSAGES


     a.  General Description

         A message consists of headers and, optionally, a  body  (i.e.
         the  <message-text>).   The  <message-text>  part  is  just a
         sequence of  ASCII  characters;  it  is  separated  from  the
         headers  by  a null line (i.e., a line with nothing preceding
         the <crlf>).

         1) Folding and unfolding of headers

            Each header item can be viewed as a single, logical,  long
            line   of   ASCII   characters.    For  convenience,  this
            conceptual  entity  can  be  split  into  a  multiple-line
            representation (i.e., "folded").  The general rule is that
            wherever there can be <linear-white-space> characters, you
            can  instead  insert  a  <crlf> immediately followed by AT
            LEAST  one  <linear-white-space>  character.   Thus,   the
            single line

               To:  "Joe Dokes & J. Harvey" <ddd at Host>, JJV at BBN

            can be represented as

               To:  "Joe Dokes & J. Harvey" <ddd at Host>,
                    JJV at BBN

            and

               To:  "Joe Dokes & J. Harvey"
                                <ddd at Host>,
                JJV at BBN



     II. Standard for the Format of Messages                      / 10
      B. Syntax
      1. Lexical Analysis



            and

               To:  "Joe Dokes
                & J. Harvey" <ddd at Host>, JJV at BBN

            The process  of  moving  from  this  folded  multiple-line
            representation  of  a  header  field  to  its  single line
            representation will be called "unfolding".   Unfolding  is
            accomplished by regarding <crlf> immediately followed by a
            <linear-white-space-char> as equivalent  to  the  <linear-

⌨️ 快捷键说明

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