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

📄 rfc759.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  State    The character string name of a state.Postel                                                         [Page 25]                                                             August 1980Internet Message ProtocolSpecification  Trace    Each MPM that handles the message must add its handling-stamp to    this list.  This will allow detection of messages being sent in a    loop within the internet mail system, and aid in fault isolation.  Trail    When a message is sent through the internetwork environment, it    acquires this trace, a list of MPMs that have handled the message.    This list is then carried as the trail in a reply or acknowledgment    of that message.  Requests and replies always have a trace and each    MPM adds its handling-stamp to this trace.  Replies, in addition,    have a trail which is the complete trace of the original message.  Transaction Number    This is a number which is uniquely associated with this transaction    by the originating MPM.  It identifies the transaction.  (A    transaction is a message and acknowledgment.)  A transaction number    must be unique during the time which the message (a request or    reply) containing it could be active in the network.  Type-of-Service    A service parameter for the delivery of a message, for instance a    message could be delivered (REGULAR), forwarded (FORWARD), turned    over to general delivery (GENDEL) (i.e., allow a person to decide    how to further attempt to deliver the message), or require priority    handling (PRIORITY).  User    The character string name of a user.  X121 Address    This identifies a host in the Public Data Network environment.  When    used as a part of identifier, it identifies the originating host of    a message.  The X121 address is a sequence of up to 14 digits [29].    For use in the MPMs the X121 address is represented in decimal    digits.[Page 26]                                                         PostelAugust 1980                                                                                                            Internet Message Protocol                                                           Specification  Zip Code    The character string representation of a postal zip code.  The zip    code of ISI is 90291.3.7.  Data Elements  The data elements defined here are similar to the data structure and  encoding used in NSW [30].  Each of the diagrams which follow represent a sequence of octets.  Field boundaries are denoted by the "|" character, octet boundaries by  the "+" character.  Each element begins with a one-octet code.  The  order of the information in each element is left-to-right.  In fields  with numeric values the high-order (or most significant) bit is the  left-most bit.  For transmission purposes, the leftmost octet is  transmitted first.  Cohen has described some of the difficulties in  mapping memory order to transmission order [31].    Code  Type          Representation  ----  ----          --------------                        +------+    0  No Operation   |  0   |                      +------+                        +------+------+------+------+------    1  Padding        |  1   |     octet count    | Data ...                      +------+------+------+------+------                        +------+------+    2  Boolean        |  2   | 1/0  |                      +------+------+                        +------+------+------+    3  Index          |  3   |     Data    |                      +------+------+------+                        +------+------+------+------+------+    4  Integer        |  4   |            Data           |                      +------+------+------+------+------+Postel                                                         [Page 27]                                                             August 1980Internet Message ProtocolSpecification         Extended       +------+------+------+------+------    5  Precision      |  5   |    octet count     | Data ...       Integer        +------+------+------+------+------                        +------+------+------+------+------    6  Bit String     |  6   |      bit count     | Data ...                      +------+------+------+------+------                        +------+------+------    7  Name String    |  7   | count|  Data ...                      +------+------+------                        +------+------+------+------+------    8  Text String    |  8   |     octet count    |  Data ...                      +------+------+------+------+------                        +------+------+------+------+-----    9  List           |  9   |     octet count    | Data ...                      +------+------+------+------+-----                        +------+------+------+------+------    10 Proplist       |  10  |     octet count    | Data ...                      +------+------+------+------+------                        +------+    11 End of List    |  11  |                      +------+  Element code 0 (NOP) is an empty data element used for padding when it  is necessary.  It is ignored.  Element code 1 (PAD) is used to transmit large amounts of data with a  message for test or padding purposes.  The type-octet is followed by a  three-octet count of the number of octets to follow.  No action is  taken with this data but the count of dummy octets must be correct to  indicate the next element code.  Element code 2 (BOOLEAN) is a boolean data element.  The octet  following the type-octet has the value 1 for True and 0 for False.[Page 28]                                                         PostelAugust 1980                                                                                                            Internet Message Protocol                                                           Specification  Element code 3 (INDEX) is a 16-bit unsigned integer datum.  Element  code 3 occupies only 3 octets.  Element code 4 (INTEGER) is a signed 32-bit integer datum.  This will  always occupy five octets.  Representation is two's complement.  Element code 5 (EPI) is an extended precision integer.  The type octet  is followed by a three-octet count of the number of data octets to  follow.  Representation is two's complement.  Element code 6 (BITSTR) is a bit string element for binary data.  The  bit string is padded on the right with zeros to fill out the last  octet if the bit string does not end on an octet boundary.  This data  type must have the bit-count in the three-octet count field instead of  the number of octets.  Element code 7 (NAME) is used for the representation of character  string names (or other short strings).  The type octet is followed by  a one-octet count of the number of characters (one per octet) to  follow.  Seven bit ASCII characters are used, right justified in the  octet.  The high order bit in the octet is zero.  Element code 8 (TEXT) is used for the representation of text.  The  type octet is followed by a three-octet count of the number of  characters (one per octet) to follow.  Seven bit ASCII characters are  used, right justified in the octet.  The high order bit in the octet  is zero.  Element code 9 (LIST) can be used to create structures composed of  other elements.  The three-octet octet count specifies the number of  octets in the whole list (i.e., the number of octets following this  count field to the end of the list, not including the ENDLIST octet).  The two-octet item count contains the number of elements which follow.  Any element may be used including list itself.        +------+------+------+------+------+------+    |   9  |     octet count    |  item count |    +------+------+------+------+------+------+                                     +------+------/---+                          repeated   |      element    |                                     +------+------/---+                                                     +-------+                                                     |ENDLIST|                                                     +-------+  In some situations it may not be possible to know the length of a listPostel                                                         [Page 29]                                                             August 1980Internet Message ProtocolSpecification  until the head of it has been transmitted.  To allow for this a  special ENDLIST element is defined.  A list of undetermined length is  transmitted with the octet count cleared to zero, and the item count  cleared to zero.  A null or empty List, one with no elements, has an  octet count of two (2) and an item count of zero (0).  The ENDLIST  element always follows a LIST, even when the length is determined.  Element code 10 (PROPLIST) is the Property List element.  It is a  special case of the list element, in which the elements are in pairs  and the first element of each pair is a name.  It has the following  form:        +------+------+------+------+------+    |  10  |     octet count    | pair |    +------+------+------+------+------+                         +------+------/---+------+------/---+              repeated   | name element    | value element   |                         +------+------/---+------+------/---+                                                           +-------+                                                           |ENDLIST|                                                           +-------+  The Property List structure consists of a set of unordered  <name,value> pairs.  The pairs are composed of a name which must be a  NAME element and a value which may be any kind of element.  Following  the type code is a three-octet octet count of the following octets.  Following the octet count is a one-octet pair count of the number of  <name,value> pairs in the property list.  The name of a <name,value> pair is to be unique within the property  list, that is, there shall be at most one occurrence of any particular  name in one property list.  In some situations it may not be possible to know the length of a  property list until the head of it has been transmitted.  To allow for  this the special ENDLIST element is defined.  A property list of  undetermined length is transmitted with the octet count cleared to  zero, and the pair count cleared to zero.  A null or empty property  list, one with no elements, has an octet count of one (1) and an pair  count of zero (0).  The ENDLIST element always follows a property  list, even when the length is determined.  Element code 11 (ENDLIST) is the end of list element.  It marks the  end of the corresponding list or property list.[Page 30]                                                         PostelAugust 1980                                                                                                            Internet Message Protocol                                                           Specification  Structure Sharing    When messages are batched in message-bags for transmission, it may    often be the case that the same document will be sent to more than    one recipient.  Since the document portion can usually be expected    to be the major part of the message, much repeated data would be    sent if a copy of the document for each recipient were to be shipped    in the message-bag.    To avoid this redundancy, messages may be assembled in the    message-bag so that actual data appears on its first occurrence and    only references to it appear in later occurrences.  When data is    shared, the first occurrence of the data will be tagged, and later    locations where the data should appear will only reference the    earlier tagged location.  All references to copied data point to    earlier locations in the message-bag.  The data to be retrieved is    indicated by the tag.    This is a very general sharing mechanism.  PLEASE NOTE THAT THE MPM    WILL NOT SUPPORT THE FULL USE OF THIS MECHANISM.  THE MPM WILL ONLY    SUPPORT SHARING OF WHOLE DOCUMENTS.  No other level of sharing will    be supported by the MPMs.    This sharing mechanism may be used within a document as long as all    references refer to tags within the same document.    Sharing is implemented by placing a share-tag on the first    occurrence of the data to be shared, and placing a share-reference    at the locations where copies of that data should occur.                               +------+------+------+      12 Share Tag         |  12  | share-index |                           +------+------+------+                               +------+------+------+      13 Share Reference   |  13  | share-index |                           +------+------+------+    Element code 12 (S-TAG) is a share tag element.  The two octets    following the type-octet specify the shared data identification code    for the following data element.  Note that s-tag is not a DATA    element, in the sense that data elements encode higher level    objects.    Element code 13 (S-REF) is a share reference element.  The twoPostel                                                         [Page 31]                                                             August 1980Internet Message ProtocolSpecification    octets following the type-octet specify the referenced shared data    identification code.    An example of using this mechanism is      ( ( <a>, <b> ) ( <c>, <b> ) )    could be coded as follows to share <b>      ( ( <a>, <s-tag-1><b> ) ( <c>, <s-ref-1> ) )    To facilitate working with structures which may contain shared data,    the two high-order bits of the list and property list element codes    are reserved for indicating if the structure contains data to be    shared or contains a reference to shared data.  That is, if the    high-order bit of the list or property list element code octet is    set to one then the property list contains a share-reference to    shared data.  Or, if the second high-order bit is set to one the    structure contains a share-tag for data to be shared.    The example above is now repeated in detail showing the use of the    high-order bits.        +------+------+------+------+------+------+------+------+    |11 - 9|01 - 9|  <a> |  12  |   0  |   1  |  <b> |  11  |    +------+------+------+------+------+------+------+------+                      +------+------+------+------+------+------+------+                      |10 - 9|  <c> |  13  |   0  |   1  |  11  |  11  |                      +------+------+------+------+------+------+------+    It is not considered an error for an element to be tagged but not    referenced.    A substructure with internal sharing may be created.  If such a    substructure is closed with respect to sharing -- that is, all    references to its tagged elements are within the substructure --    then there is no need for the knowledge of the sharing to propagate    up the hierarchy of lists.  For example, if the substructure is:      00-LIST ( a b c b )    which 

⌨️ 快捷键说明

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