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

📄 rfc733.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
RFC #   733NIC # 41952Obsoletes:  RFC #561  (NIC #18516)            RFC #680  (NIC #32116)            RFC #724  (NIC #37435)                   STANDARD FOR THE FORMAT OF                  ARPA NETWORK TEXT MESSAGES(1)                        21 November 1977                               by                        David H. Crocker                      The Rand Corporation                         John J. Vittal                  Bolt Beranek and Newman Inc.                        Kenneth T. Pogran              Massachusets Institute of Technology                   D. Austin Henderson, Jr.(2)                  Bolt Beranek and Newman Inc._________________________________________________________________(1)This work was  supported  by  the  Defense  Advanced  ResearchProjects Agency of the Department of Defense, under contract Nos.N00014-75-C-0661, MDA903-76-C-0212, and DAHC15-73-C0181.(2)The authors' postal  addresses  are:   D.  Crocker,  The  RandCorporation,  Information  Sciences  Dept.,  1700 Main St., SantaMonica, California 90406; J.  Vittal  &  D.  A.  Henderson,  BoltBeranek & Newman, 50 Moulton St., Cambridge, Massachusetts 02138;and  K.  Pogran,  MIT  Laboratory  for  Computer   Science,   545Technology  Square, Cambridge, Massachusetts 02139.  The authors'ARPANET addresses are:  DCrocker at  Rand-Unix,  Vittal  at  BBN-TenexD, Pogran at MIT-Multics, and Henderson at BBN-TenexD.                              -iii-                             PREFACE     ARPA's  Committee  on  Computer-Aided  Human   Communication(CAHCOM)  wishes  to promulgate a standard for the format of ARPANetwork text message (mail) headers which  will  reasonably  meetthe  needs  of  the  various  message  service  subsystems on theNetwork today.  The  authors  of  this  document  constitute  theCAHCOM  subcommittee charged with the task of developing this newstandard.     Essentially, we specify a revision to  ARPANET  Request  forComments (RFC) 561, "Standardizing Network Mail Headers", and RFC680, "Message Transmission Protocol".  This revision removes  andcompacts  portions  of  the  previous  syntax  and  adds  severalfeatures to network address  specification.   In  particular,  wefocus  on  people  and  not  mailboxes  as  recipients  and allowreference to stored address lists.   We  expect  this  syntax  toprovide  sufficient  capabilities  to  meet most users' immediateneeds and, therefore, give developers enough  breathing  room  toproduce  a new mail transmission protocol "properly".  We believethat there is enough of a consensus in the Network  community  infavor  of such a standard syntax to make possible its adoption atthis time.  An earlier draft of this specification was  publishedas  RFC  #724, "Proposed Official Standard for the Format of ARPANetwork Messages"  and  contained  extensive  discussion  of  thebackground and issues in ARPANET mail standards.     This specification was developed  over  the  course  of  oneyear,  using  the ARPANET mail environment, itself, to provide anon-going forum for discussing the capabilities  to  be  included.More   than   twenty   individuals,   from  across  the  country,participated in this discussion and we would like to  acknowledgetheir  considerable  efforts.   The  syntax  of  the standard wasoriginally specified in the Backus-Naur Form (BNF) meta-language.Ken  L.   Harrenstien,  of SRI International, was responsible forre-coding the BNF  into  an  augmented  BNF  which  compacts  thespecification and allows increased comprehensibility.                               -v-                            CONTENTSPREFACE..................................................... iiiSection   I.  INTRODUCTION.........................................   1  II.  FRAMEWORK............................................   2 III.  SYNTAX...............................................   4       A. Notational Conventions............................   4       B. Lexical Analysis of Messages......................   5       C. General Syntax of Messages........................  13       D. Syntax of General Addressee Items.................  15       E. Supporting Constructs.............................  15  IV.  SEMANTICS............................................  17       A. Address Fields....................................  17       B. Reference Specification Fields....................  22       C. Other Fields and Syntactic Items..................  23       D. Dates and Times...................................  24   V.  EXAMPLES.............................................  25       A. Addresses.........................................  25       B. Address Lists.....................................  26       C. Originator Items..................................  26       D. Complete Headers..................................  28Appendix   A.  ALPHABETICAL LISTING OF SYNTAX RULES.................  31   B.  SIMPLE PARSING.......................................  35BIBLIOGRAPHY................................................  37Standard for the Format of Text Messages                        1I. Introduction                        I.  INTRODUCTION     This standard specifies a syntax for text messages which arepassed between computer users within the framework of "electronicmail".  The standard supersedes the informal standards  specifiedin  ARPANET  Request  for  Comments  numbers  561, "StandardizingNetwork Mail Headers", and 680, "Message Transmission  Protocol".In  this  document,  a  general framework is first described; theformal syntax is then specified, followed by a discussion of  thesemantics.  Finally, a number of examples are given.     This specification is intended strictly as a  definition  ofwhat  is  to  be  passed between hosts on the ARPANET.  It is NOTintended to dictate either features which systems on the  Networkare  expected  to support, or user interfaces to message creatingor reading programs.     A distinction should be made between what the  specificationREQUIRES  and  what  it ALLOWS.  Messages can be made complex andrich with formally-structured components of information or can bekept small and simple, with a minimum of such information.  Also,the standard simplifies the interpretation  of  differing  visualformats in messages.  These simplifications facilitate the formalspecification and indicate what the OFFICIAL  semantics  are  formessages.   Only  the  visual aspect of a message is affected andnot the interpretation of information  within  it.   Implementorsmay choose to retain such visual distinctions.Standard for the Format of Text Messages                        2II. Framework                         II.  FRAMEWORK     Since there are many message systems which exist outside theARPANET environment, as well as those within it, it may be usefulto consider the general framework, and resulting capabilities andlimitations, provided by this standard.     Messages are expected to  consist  of  lines  of  text.   Nospecial provisions are made, at this time, for encoding drawings,facsimile, speech, or structured text.     No significant consideration has been given to questions  ofdata   compression   or   transmission/storage  efficiency.   Thestandard, in fact, tends to be very free with the number of  bitsconsumed.   For  example, field names are specified as free text,rather than special terse codes.     A general "memo" framework is  used.   That  is,  a  messageconsists  of some information, in a rigid format, followed by themain part of the message, which is text and whose format  is  notspecified  in this document.  The syntax of several fields of therigidly-formated  ("header")   section   is   defined   in   thisspecification;  some of the header fields must be included in allmessages.  The syntax  which  distinguishes  between  headers  isspecified  separately  from  the  internal  syntax for particularheaders.  This separation is intended to allow  extremely  simpleparsers  to operate on the overall structure of messages, withoutconcern  for  the  detailed  structure  of  individual   headers.Appendix B is provided to facilitate construction of these simpleparsers.  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 functionalitywhile  maintaining  a uniform framework.  The approach is similarto that of the TELNET protocol,  in  that  a  basic  standard  isdefined  which  includes  a  mechanism for (optionally) extendingitself.  As necessary, the authors of this document will regulatethe  publishing  of  specifications for these "extension-fields",through the same mechanisms used to publish this document.     Such a  framework  severely  constrains  document  tone  andappearance  and  is  primarily useful for most intra-organizationcommunications  and  relatively   structured   inter-organizationcommunication.   A more robust environment might allow for multi-font, multi-color, multi-dimension encoding  of  information.   Aless  robust  environment,  as  is present in most single-machinemessage systems, would more severely constrain the ability to addfields  and the decision to include specific fields.  In contrastto paper-based communication, it is interesting to note that  theStandard for the Format of Text Messages                        3II. FrameworkRECEIVER  of  a  message  can exercise an extraordinary amount ofcontrol over the message's  appearance.   The  amount  of  actualcontrol  available  to  message  receivers is contingent upon thecapabilities of their individual message systems.Standard for the Format of Text Messages                        4III. Syntax                          III.  SYNTAX     This  syntax  is  given  in  five  parts.   The  first  partdescribes  the  notation  used  in the specification.  The secondpart describes the base-level lexical analyzers  which  feed  thehigher-level  parser  described  in the succeeding sections.  Thethird part gives a  general  syntax  for  messages  and  standardheader  fields;  and  the  fourth  part  specifies  the syntax ofaddresses.  A final part  specifies  some  general  syntax  whichsupports the other sections.A.  NOTATIONAL CONVENTIONSThese specifications are made in an  augmented  Backus-Naur  Form(BNF).  Differences  from  standard  BNF  involve  the  naming ofrules, the indication of repetition and of "local" alternatives.1.  Rule namingAngle brackets ("<", ">") are not used, in general.  The name  ofa   rule  is  simply  the  name  itself,  rather  than  "<name>".Quotation-marks enclose literal text (which may be  upper  and/orlower case).  Certain basic  rules  are  in  uppercase,  such  asSPACE,  TAB, CRLF, DIGIT, ALPHA, etc.  Angle brackets are used inrule definitions, and in the  rest  of  this  document,  whenevertheir presence will facilitate discerning the use of rule names.2.  Parentheses:  Local alternativesElements enclosed in parentheses are treated as a single element.Thus,  "(elem  (foo  /  bar)  elem)" allows "(elem foo elem)" and"(elem bar elem)".3.  * construct:  RepetitionThe character "*" preceding an element indicates repetition.  Thefull form is:          <l>*<m>elementindicating at least <l> and at most <m> occurrences  of  element.Default values are 0 and infinity so that "*(element)" allows anynumber, including zero; "1*element" requires at  least  one;  and"1*2element" allows one or two.Standard for the Format of Text Messages                        5III. Syntax  A. Notational Conventions4.  <number>element"<n>(element)" is  equivalent  to  "<n>*<n>(element)";  that  is,exactly  <n>  occurrences of (element).  Thus 2DIGIT is a 2-digitnumber, and 3ALPHA is a string of three alphabetic characters.5.  # construct:  ListsA construct "#" is defined, similar to "*", as follows:                  <l>#<m>elementindicating at least <l> and at most <m> elements, each  separatedby  one or more commas (",").  This makes the usual form of listsvery easy; a rule such as '(element *("," element))' can be shownas  "1#element".   Wherever this construct is used, null elementsare allowed, but do not  contribute  to  the  count  of  elementspresent.   That  is,  "(element),,(element)"  is  permitted,  but

⌨️ 快捷键说明

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