Ignore:
Timestamp:
11/12/08 16:02:40 (13 years ago)
Author:
julian.reschke@…
Message:

Synchronize with trunk (../latest), with the exception of Part 6. Fix P7 where it pointed into a section that was removed from Part 6.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest-roy/p2-semantics.xml

    r348 r437  
    1313  <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>SHOULD NOT</bcp14>">
    1414  <!ENTITY ID-VERSION "latest">
    15   <!ENTITY ID-MONTH "November">
     15  <!ENTITY ID-MONTH "December">
    1616  <!ENTITY ID-YEAR "2008">
     17  <!ENTITY notation                   "<xref target='Part1' x:rel='#notation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    1718  <!ENTITY messaging                  "<xref target='Part1' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    1819  <!ENTITY payload                    "<xref target='Part3' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    242243  </t>
    243244  <t>
    244     The changes in this draft are summarized in <xref target="changes.since.04"/>.
     245    The changes in this draft are summarized in <xref target="changes.since.05"/>.
    245246  </t>
    246247</note>
     
    286287</t>
    287288</section>
    288 </section>
    289 
    290 <section title="Notational Conventions and Generic Grammar" anchor="notation">
     289
     290<section title="Syntax Notation" anchor="notation">
     291  <x:anchor-alias value="CR"/>
     292  <x:anchor-alias value="DIGIT"/>
     293  <x:anchor-alias value="LF"/>
     294  <x:anchor-alias value="VCHAR"/>
     295  <x:anchor-alias value="WSP"/>
     296<t>
     297  This specification uses the ABNF syntax defined in &notation;.
     298  The following core rules are included by
     299  reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:
     300  ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),
     301  DIGIT (decimal 0-9), DQUOTE (double quote),
     302  HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),
     303  OCTET (any 8-bit sequence of data), SP (space),
     304  VCHAR (any visible USASCII character),
     305  and WSP (whitespace).
     306</t>
     307
     308<section title="Core Rules" anchor="core.rules">
    291309  <x:anchor-alias value="comment"/>
    292   <x:anchor-alias value="DIGIT"/>
     310  <x:anchor-alias value="obs-text"/>
    293311  <x:anchor-alias value="quoted-string"/>
    294312  <x:anchor-alias value="token"/>
    295 <t>
    296   This specification uses the ABNF syntax defined in &notation-abnf; and
    297   the core rules defined in &basic-rules;:
    298   <cref anchor="abnf.dep">ABNF syntax and basic rules will be adopted from RFC 5234, see
    299   <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>.</cref>
    300 </t>
    301 <figure><artwork type="abnf2616">
    302   <x:ref>DIGIT</x:ref>         = &lt;DIGIT, defined in &basic-rules;&gt;
    303 </artwork></figure>
     313  <x:anchor-alias value="OWS"/>
     314  <x:anchor-alias value="RWS"/>
     315<t>
     316  The core rules below are defined in &basic-rules;:
     317</t>
    304318<figure><artwork type="abnf2616">
    305319  <x:ref>comment</x:ref>       = &lt;comment, defined in &basic-rules;&gt;
    306320  <x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in &basic-rules;&gt;
    307321  <x:ref>token</x:ref>         = &lt;token, defined in &basic-rules;&gt;
     322  <x:ref>OWS</x:ref>           = &lt;OWS, defined in &basic-rules;&gt;
     323  <x:ref>RWS</x:ref>           = &lt;RWS, defined in &basic-rules;&gt;
     324  <x:ref>obs-text</x:ref>      = &lt;obs-text, defined in &basic-rules;&gt;
    308325</artwork></figure>
    309 <t anchor="abnf.dependencies">
    310   <x:anchor-alias value="absoluteURI"/>
     326</section>
     327
     328<section title="ABNF Rules defined in other Parts of the Specification" anchor="abnf.dependencies">
     329  <x:anchor-alias value="absolute-URI"/>
    311330  <x:anchor-alias value="Accept"/>
    312331  <x:anchor-alias value="Accept-Charset"/>
     
    325344  <x:anchor-alias value="If-Range"/>
    326345  <x:anchor-alias value="If-Unmodified-Since"/>
     346  <x:anchor-alias value="partial-URI"/>
    327347  <x:anchor-alias value="product"/>
    328348  <x:anchor-alias value="Proxy-Authenticate"/>
    329349  <x:anchor-alias value="Proxy-Authorization"/>
    330350  <x:anchor-alias value="Range"/>
    331   <x:anchor-alias value="relativeURI"/>
    332351  <x:anchor-alias value="TE"/>
    333352  <x:anchor-alias value="Vary"/>
    334353  <x:anchor-alias value="WWW-Authenticate"/>
     354<t>
    335355  The ABNF rules below are defined in other parts:
    336356</t>
    337357<figure><!--Part1--><artwork type="abnf2616">
    338   <x:ref>absoluteURI</x:ref>   = &lt;absoluteURI, defined in &uri;&gt;
     358  <x:ref>absolute-URI</x:ref>  = &lt;absolute-URI, defined in &uri;&gt;
    339359  <x:ref>fragment</x:ref>      = &lt;fragment, defined in &uri;&gt;
    340   <x:ref>Host</x:ref>          = &lt;Host, defined in &header-host;&gt;
     360  <x:ref>Host</x:ref>          = &lt;Host, defined in &uri;&gt;
    341361  <x:ref>HTTP-date</x:ref>     = &lt;HTTP-date, defined in &full-date;&gt;
     362  <x:ref>partial-URI</x:ref>   = &lt;partial-URI, defined in &uri;&gt;
    342363  <x:ref>product</x:ref>       = &lt;product, defined in &product-tokens;&gt;
    343   <x:ref>relativeURI</x:ref>   = &lt;relativeURI, defined in &uri;&gt;
    344364  <x:ref>TE</x:ref>            = &lt;TE, defined in &header-te;&gt;
    345365</artwork></figure>
     
    381401</artwork></figure>
    382402</section>
     403</section>
     404</section>
    383405
    384406<section title="Method" anchor="method">
     
    387409<t>
    388410   The Method  token indicates the method to be performed on the
    389    resource identified by the Request-URI. The method is case-sensitive.
     411   resource identified by the request-target. The method is case-sensitive.
    390412</t>
    391413<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/><iref primary="true" item="Grammar" subitem="extension-method"/>
     
    442464
    443465<section title="Request Header Fields" anchor="request.header.fields">
    444   <x:anchor-alias value="extension-code"/>
    445466  <x:anchor-alias value="request-header"/>
    446467<t>
     
    485506  <x:anchor-alias value="Reason-Phrase"/>
    486507  <x:anchor-alias value="Status-Code"/>
     508  <x:anchor-alias value="extension-code"/>
    487509<t>
    488510   The Status-Code element is a 3-digit integer result code of the
     
    533555       / "412"  ; <xref target="status.412"/>: Precondition Failed
    534556       / "413"  ; <xref target="status.413"/>: Request Entity Too Large
    535        / "414"  ; <xref target="status.414"/>: Request-URI Too Large
     557       / "414"  ; <xref target="status.414"/>: Request-target Too Long
    536558       / "415"  ; <xref target="status.415"/>: Unsupported Media Type
    537559       / "416"  ; <xref target="status.416"/>: Requested range not satisfiable
     
    546568
    547569  <x:ref>extension-code</x:ref> = 3<x:ref>DIGIT</x:ref>
    548   <x:ref>Reason-Phrase</x:ref>  = *&lt;<x:ref>TEXT</x:ref>, excluding <x:ref>CR</x:ref>, <x:ref>LF</x:ref>&gt;
     570  <x:ref>Reason-Phrase</x:ref>  = *( <x:ref>WSP</x:ref> / <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref> )
    549571</artwork></figure>
    550572<t>
     
    588610   information about the response which cannot be placed in the Status-Line.
    589611   These header fields give information about the server and about
    590    further access to the resource identified by the Request-URI.
     612   further access to the resource identified by the request-target.
    591613</t>
    592614<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="response-header"/>
     
    698720   The OPTIONS method represents a request for information about the
    699721   communication options available on the request/response chain
    700    identified by the Request-URI. This method allows the client to
     722   identified by the request-target. This method allows the client to
    701723   determine the options and/or requirements associated with a resource,
    702724   or the capabilities of a server, without implying a resource action
     
    715737</t>
    716738<t>
    717    If the Request-URI is an asterisk ("*"), the OPTIONS request is
     739   If the request-target is an asterisk ("*"), the OPTIONS request is
    718740   intended to apply to the server in general rather than to a specific
    719741   resource. Since a server's communication options typically depend on
     
    724746</t>
    725747<t>
    726    If the Request-URI is not an asterisk, the OPTIONS request applies
     748   If the request-target is not an asterisk, the OPTIONS request applies
    727749   only to the options that are available when communicating with that
    728750   resource.
     
    743765   The Max-Forwards request-header field &MAY; be used to target a
    744766   specific proxy in the request chain. When a proxy receives an OPTIONS
    745    request on an absoluteURI for which request forwarding is permitted,
     767   request on an absolute-URI for which request forwarding is permitted,
    746768   the proxy &MUST; check for a Max-Forwards field. If the Max-Forwards
    747769   field-value is zero ("0"), the proxy &MUST-NOT; forward the message;
     
    762784<t>
    763785   The GET method means retrieve whatever information (in the form of an
    764    entity) is identified by the Request-URI. If the Request-URI refers
     786   entity) is identified by the request-target. If the request-target refers
    765787   to a data-producing process, it is the produced data which shall be
    766788   returned as the entity in the response and not the source text of the
     
    827849   The POST method is used to request that the origin server accept the
    828850   entity enclosed in the request as data to be processed by the resource
    829    identified by the Request-URI in the Request-Line. POST is designed
     851   identified by the request-target in the Request-Line. POST is designed
    830852   to allow a uniform method to cover the following functions:
    831853  <list style="symbols">
     
    848870<t>
    849871   The actual function performed by the POST method is determined by the
    850    server and is usually dependent on the Request-URI.
     872   server and is usually dependent on the request-target.
    851873</t>
    852874<t>
     
    876898<t>
    877899   The PUT method requests that the enclosed entity be stored at the
    878    supplied Request-URI. If the Request-URI refers to an already
     900   supplied request-target. If the request-target refers to an already
    879901   existing resource, the enclosed entity &SHOULD; be considered as a
    880902   modified version of the one residing on the origin server. If the
    881    Request-URI does not point to an existing resource, and that URI is
     903   request-target does not point to an existing resource, and that URI is
    882904   capable of being defined as a new resource by the requesting user
    883905   agent, the origin server can create the resource with that URI. If a
    884    new resource is created at the Request-URI, the origin server &MUST;
     906   new resource is created at the request-target, the origin server &MUST;
    885907         inform the user agent
    886908   via the 201 (Created) response. If an existing resource is modified,
    887909   either the 200 (OK) or 204 (No Content) response codes &SHOULD; be sent
    888910   to indicate successful completion of the request. If the resource
    889    could not be created or modified with the Request-URI, an appropriate
     911   could not be created or modified with the request-target, an appropriate
    890912   error response &SHOULD; be given that reflects the nature of the
    891913   problem. The recipient of the entity &MUST-NOT; ignore any Content-*
     
    895917</t>
    896918<t>
    897    If the request passes through a cache and the Request-URI identifies
     919   If the request passes through a cache and the request-target identifies
    898920   one or more currently cached entities, those entries &SHOULD; be
    899921   treated as stale. Responses to this method are not cacheable.
     
    901923<t>
    902924   The fundamental difference between the POST and PUT requests is
    903    reflected in the different meaning of the Request-URI. The URI in a
     925   reflected in the different meaning of the request-target. The URI in a
    904926   POST request identifies the resource that will handle the enclosed
    905927   entity. That resource might be a data-accepting process, a gateway to
     
    936958<t>
    937959   The DELETE method requests that the origin server delete the resource
    938    identified by the Request-URI. This method &MAY; be overridden by human
     960   identified by the request-target. This method &MAY; be overridden by human
    939961   intervention (or other means) on the origin server. The client cannot
    940962   be guaranteed that the operation has been carried out, even if the
     
    952974</t>
    953975<t>
    954    If the request passes through a cache and the Request-URI identifies
     976   If the request passes through a cache and the request-target identifies
    955977   one or more currently cached entities, those entries &SHOULD; be
    956978   treated as stale. Responses to this method are not cacheable.
     
    12591281   future references to this resource &SHOULD; use one of the returned
    12601282   URIs.  Clients with link editing capabilities ought to automatically
    1261    re-link references to the Request-URI to one or more of the new
     1283   re-link references to the request-target to one or more of the new
    12621284   references returned by the server, where possible. This response is
    12631285   cacheable unless indicated otherwise.
     
    12901312   The requested resource resides temporarily under a different URI.
    12911313   Since the redirection might be altered on occasion, the client &SHOULD;
    1292    continue to use the Request-URI for future requests.  This response
     1314   continue to use the request-target for future requests.  This response
    12931315   is only cacheable if indicated by a Cache-Control or Expires header
    12941316   field.
     
    13921414   The requested resource resides temporarily under a different URI.
    13931415   Since the redirection &MAY; be altered on occasion, the client &SHOULD;
    1394    continue to use the Request-URI for future requests.  This response
     1416   continue to use the request-target for future requests.  This response
    13951417   is only cacheable if indicated by a Cache-Control or Expires header
    13961418   field.
     
    14791501  <iref primary="true" item="Status Codes" subitem="404 Not Found" x:for-anchor=""/>
    14801502<t>
    1481    The server has not found anything matching the Request-URI. No
     1503   The server has not found anything matching the request-target. No
    14821504   indication is given of whether the condition is temporary or
    14831505   permanent. The 410 (Gone) status code &SHOULD; be used if the server
     
    14951517<t>
    14961518   The method specified in the Request-Line is not allowed for the
    1497    resource identified by the Request-URI. The response &MUST; include an
     1519   resource identified by the request-target. The response &MUST; include an
    14981520   Allow header containing a list of valid methods for the requested
    14991521   resource.
     
    15841606   forwarding address is known. This condition is expected to be
    15851607   considered permanent. Clients with link editing capabilities &SHOULD;
    1586    delete references to the Request-URI after user approval. If the
     1608   delete references to the request-target after user approval. If the
    15871609   server does not know, or has no facility to determine, whether or not
    15881610   the condition is permanent, the status code 404 (Not Found) &SHOULD; be
     
    16391661</section>
    16401662
    1641 <section title="414 Request-URI Too Long" anchor="status.414">
    1642   <iref primary="true" item="414 Request-URI Too Long (status code)" x:for-anchor=""/>
    1643   <iref primary="true" item="Status Codes" subitem="414 Request-URI Too Long" x:for-anchor=""/>
    1644 <t>
    1645    The server is refusing to service the request because the Request-URI
     1663<section title="414 Request-target Too Long" anchor="status.414">
     1664  <iref primary="true" item="414 Request-target Too Long (status code)" x:for-anchor=""/>
     1665  <iref primary="true" item="Status Codes" subitem="414 Request-target Too Long" x:for-anchor=""/>
     1666<t>
     1667   The server is refusing to service the request because the request-target
    16461668   is longer than the server is willing to interpret. This rare
    16471669   condition is only likely to occur when a client has improperly
     
    16511673   itself), or when the server is under attack by a client attempting to
    16521674   exploit security holes present in some servers using fixed-length
    1653    buffers for reading or manipulating the Request-URI.
     1675   buffers for reading or manipulating the request-target.
    16541676</t>
    16551677</section>
     
    17931815  <iref primary="true" item="Headers" subitem="Allow" x:for-anchor=""/>
    17941816  <x:anchor-alias value="Allow"/>
    1795 <t>
    1796       The Allow response-header field lists the set of methods advertised as
    1797       supported by the resource identified by the Request-URI. The purpose of
     1817  <x:anchor-alias value="Allow-v"/>
     1818<t>
     1819      The response-header field "Allow" lists the set of methods advertised as
     1820      supported by the resource identified by the request-target. The purpose of
    17981821      this field is strictly to inform the recipient of valid methods
    17991822      associated with the resource. An Allow header field &MUST; be
    18001823      present in a 405 (Method Not Allowed) response.
    18011824</t>
    1802 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Allow"/>
    1803   <x:ref>Allow</x:ref>   = "Allow" ":" #<x:ref>Method</x:ref>
     1825<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Allow"/><iref primary="true" item="Grammar" subitem="Allow-v"/>
     1826  <x:ref>Allow</x:ref>   = "Allow" ":" <x:ref>OWS</x:ref> <x:ref>Allow-v</x:ref>
     1827  <x:ref>Allow-v</x:ref> = #<x:ref>Method</x:ref>
    18041828</artwork></figure>
    18051829<t>
     
    18071831</t>
    18081832<figure><artwork type="example">
    1809        Allow: GET, HEAD, PUT
     1833  Allow: GET, HEAD, PUT
    18101834</artwork></figure>
    18111835<t>
     
    18241848  <iref primary="true" item="Headers" subitem="Expect" x:for-anchor=""/>
    18251849  <x:anchor-alias value="Expect"/>
     1850  <x:anchor-alias value="Expect-v"/>
    18261851  <x:anchor-alias value="expectation"/>
    18271852  <x:anchor-alias value="expectation-extension"/>
    18281853  <x:anchor-alias value="expect-params"/>
    18291854<t>
    1830    The Expect request-header field is used to indicate that particular
     1855   The request-header field "Expect" is used to indicate that particular
    18311856   server behaviors are required by the client.
    18321857</t>
    1833 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expect"/><iref primary="true" item="Grammar" subitem="expectation"/><iref primary="true" item="Grammar" subitem="expectation-extension"/><iref primary="true" item="Grammar" subitem="expect-params"/>
    1834   <x:ref>Expect</x:ref>       =  "Expect" ":" 1#<x:ref>expectation</x:ref>
     1858<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expect"/><iref primary="true" item="Grammar" subitem="Expect-v"/><iref primary="true" item="Grammar" subitem="expectation"/><iref primary="true" item="Grammar" subitem="expectation-extension"/><iref primary="true" item="Grammar" subitem="expect-params"/>
     1859  <x:ref>Expect</x:ref>       = "Expect" ":" <x:ref>OWS</x:ref> <x:ref>Expect-v</x:ref>
     1860  <x:ref>Expect-v</x:ref>     = 1#<x:ref>expectation</x:ref>
    18351861 
    1836   <x:ref>expectation</x:ref>  =  "100-continue" / <x:ref>expectation-extension</x:ref>
    1837   <x:ref>expectation-extension</x:ref> =  <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> )
     1862  <x:ref>expectation</x:ref>  = "100-continue" / <x:ref>expectation-extension</x:ref>
     1863  <x:ref>expectation-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> )
    18381864                           *<x:ref>expect-params</x:ref> ]
    1839   <x:ref>expect-params</x:ref> =  ";" <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ]
     1865  <x:ref>expect-params</x:ref> = ";" <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ]
    18401866</artwork></figure>
    18411867<t>
     
    18781904  <iref primary="true" item="Headers" subitem="From" x:for-anchor=""/>
    18791905  <x:anchor-alias value="From"/>
     1906  <x:anchor-alias value="From-v"/>
    18801907  <x:anchor-alias value="mailbox"/>
    18811908<t>
    1882    The From request-header field, if given, &SHOULD; contain an Internet
     1909   The request-header field "From", if given, &SHOULD; contain an Internet
    18831910   e-mail address for the human user who controls the requesting user
    18841911   agent. The address &SHOULD; be machine-usable, as defined by "mailbox"
    18851912   in <xref x:sec="3.4" x:fmt="of" target="RFC5322"/>:
    18861913</t>
    1887 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="From"/>
    1888   <x:ref>From</x:ref>    = "From" ":" <x:ref>mailbox</x:ref>
     1914<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="From"/><iref primary="true" item="Grammar" subitem="From-v"/>
     1915  <x:ref>From</x:ref>    = "From" ":" <x:ref>OWS</x:ref> <x:ref>From-v</x:ref>
     1916  <x:ref>From-v</x:ref>  = <x:ref>mailbox</x:ref>
    18891917 
    18901918  <x:ref>mailbox</x:ref> = &lt;mailbox, defined in <xref x:sec="3.4" x:fmt="," target="RFC5322"/>&gt;
     
    18941922</t>
    18951923<figure><artwork type="example">
    1896     From: webmaster@example.org
     1924  From: webmaster@example.org
    18971925</artwork></figure>
    18981926<t>
     
    19251953  <iref primary="true" item="Headers" subitem="Location" x:for-anchor=""/>
    19261954  <x:anchor-alias value="Location"/>
    1927 <t>
    1928    The Location response-header field is used for the identification of a
     1955  <x:anchor-alias value="Location-v"/>
     1956<t>
     1957   The response-header field "Location" is used for the identification of a
    19291958   new resource or to redirect the recipient to a location other than the
    1930    Request-URI for completion of the request.  For 201 (Created)
     1959   request-target for completion of the request.  For 201 (Created)
    19311960   responses, the Location is that of the new resource which was created
    19321961   by the request. For 3xx responses, the location &SHOULD; indicate the
     
    19341963   field value consists of a single absolute URI.
    19351964</t>
    1936 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Location"/>
    1937   <x:ref>Location</x:ref>       = "Location" ":" <x:ref>absoluteURI</x:ref> [ "#" <x:ref>fragment</x:ref> ]
     1965<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Location"/><iref primary="true" item="Grammar" subitem="Location-v"/>
     1966  <x:ref>Location</x:ref>       = "Location" ":" <x:ref>OWS</x:ref> <x:ref>Location-v</x:ref>
     1967  <x:ref>Location-v</x:ref>     = <x:ref>absolute-URI</x:ref> [ "#" <x:ref>fragment</x:ref> ]
    19381968</artwork></figure>
    19391969<t>
     
    19411971</t>
    19421972<figure><artwork type="example">
    1943     Location: http://www.example.org/pub/WWW/People.html
     1973  Location: http://www.example.org/pub/WWW/People.html
    19441974</artwork></figure>
    19451975<t>
     
    19661996  <iref primary="true" item="Headers" subitem="Max-Forwards" x:for-anchor=""/>
    19671997  <x:anchor-alias value="Max-Forwards"/>
    1968 <t>
    1969    The Max-Forwards request-header field provides a mechanism with the
     1998  <x:anchor-alias value="Max-Forwards-v"/>
     1999<t>
     2000   The request-header "Max-Forwards" field provides a mechanism with the
    19702001   TRACE (<xref target="TRACE"/>) and OPTIONS (<xref target="OPTIONS"/>) methods to limit the
    19712002   number of proxies or gateways that can forward the request to the
     
    19742005   mid-chain.
    19752006</t>
    1976 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Max-Forwards"/>
    1977   <x:ref>Max-Forwards</x:ref>   = "Max-Forwards" ":" 1*<x:ref>DIGIT</x:ref>
     2007<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Max-Forwards"/><iref primary="true" item="Grammar" subitem="Max-Forwards-v"/>
     2008  <x:ref>Max-Forwards</x:ref>   = "Max-Forwards" ":" <x:ref>OWS</x:ref> <x:ref>Max-Forwards-v</x:ref>
     2009  <x:ref>Max-Forwards-v</x:ref> = 1*<x:ref>DIGIT</x:ref>
    19782010</artwork></figure>
    19792011<t>
     
    20012033  <iref primary="true" item="Headers" subitem="Referer" x:for-anchor=""/>
    20022034  <x:anchor-alias value="Referer"/>
    2003 <t>
    2004    The Referer[sic] request-header field allows the client to specify,
     2035  <x:anchor-alias value="Referer-v"/>
     2036<t>
     2037   The request-header field "Referer" [sic] allows the client to specify,
    20052038   for the server's benefit, the address (URI) of the resource from
    2006    which the Request-URI was obtained (the "referrer", although the
     2039   which the request-target was obtained (the "referrer", although the
    20072040   header field is misspelled.) The Referer request-header allows a
    20082041   server to generate lists of back-links to resources for interest,
    20092042   logging, optimized caching, etc. It also allows obsolete or mistyped
    20102043   links to be traced for maintenance. The Referer field &MUST-NOT; be
    2011    sent if the Request-URI was obtained from a source that does not have
     2044   sent if the request-target was obtained from a source that does not have
    20122045   its own URI, such as input from the user keyboard.
    20132046</t>
    2014 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Referer"/>
    2015   <x:ref>Referer</x:ref>        = "Referer" ":" ( <x:ref>absoluteURI</x:ref> / <x:ref>relativeURI</x:ref> )
     2047<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Referer"/><iref primary="true" item="Grammar" subitem="Referer-v"/>
     2048  <x:ref>Referer</x:ref>        = "Referer" ":" <x:ref>OWS</x:ref> <x:ref>Referer-v</x:ref>
     2049  <x:ref>Referer-v</x:ref>      = <x:ref>absolute-URI</x:ref> / <x:ref>partial-URI</x:ref>
    20162050</artwork></figure>
    20172051<t>
     
    20192053</t>
    20202054<figure><artwork type="example">
    2021     Referer: http://www.example.org/hypertext/Overview.html
     2055  Referer: http://www.example.org/hypertext/Overview.html
    20222056</artwork></figure>
    20232057<t>
    20242058   If the field value is a relative URI, it &SHOULD; be interpreted
    2025    relative to the Request-URI. The URI &MUST-NOT; include a fragment. See
     2059   relative to the request-target. The URI &MUST-NOT; include a fragment. See
    20262060   <xref target="encoding.sensitive.information.in.uris"/> for security considerations.
    20272061</t>
     
    20322066  <iref primary="true" item="Headers" subitem="Retry-After" x:for-anchor=""/>
    20332067  <x:anchor-alias value="Retry-After"/>
    2034 <t>
    2035    The Retry-After response-header field can be used with a 503 (Service
     2068  <x:anchor-alias value="Retry-After-v"/>
     2069<t>
     2070   The response-header "Retry-After" field can be used with a 503 (Service
    20362071   Unavailable) response to indicate how long the service is expected to
    20372072   be unavailable to the requesting client. This field &MAY; also be used
     
    20412076   of seconds (in decimal) after the time of the response.
    20422077</t>
    2043 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Retry-After"/>
    2044   <x:ref>Retry-After</x:ref>   = "Retry-After" ":" ( <x:ref>HTTP-date</x:ref> / <x:ref>delta-seconds</x:ref> )
     2078<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Retry-After"/><iref primary="true" item="Grammar" subitem="Retry-After-v"/>
     2079  <x:ref>Retry-After</x:ref>   = "Retry-After" ":" <x:ref>OWS</x:ref> <x:ref>Retry-After-v</x:ref>
     2080  <x:ref>Retry-After-v</x:ref> = <x:ref>HTTP-date</x:ref> / <x:ref>delta-seconds</x:ref>
    20452081</artwork></figure>
    20462082<t anchor="rule.delta-seconds">
     
    20562092</t>
    20572093<figure><artwork type="example">
    2058     Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
    2059     Retry-After: 120
     2094  Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
     2095  Retry-After: 120
    20602096</artwork></figure>
    20612097<t>
     
    20682104  <iref primary="true" item="Headers" subitem="Server" x:for-anchor=""/>
    20692105  <x:anchor-alias value="Server"/>
    2070 <t>
    2071    The Server response-header field contains information about the
     2106  <x:anchor-alias value="Server-v"/>
     2107<t>
     2108   The response-header field "Server" contains information about the
    20722109   software used by the origin server to handle the request. The field
    20732110   can contain multiple product tokens (&product-tokens;) and comments
     
    20762113   application.
    20772114</t>
    2078 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Server"/>
    2079   <x:ref>Server</x:ref>         = "Server" ":" 1*( <x:ref>product</x:ref> / <x:ref>comment</x:ref> )
     2115<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Server"/><iref primary="true" item="Grammar" subitem="Server-v"/>
     2116  <x:ref>Server</x:ref>         = "Server" ":" <x:ref>OWS</x:ref> <x:ref>Server-v</x:ref>
     2117  <x:ref>Server-v</x:ref>       = <x:ref>product</x:ref>
     2118                   *( <x:ref>RWS</x:ref> ( <x:ref>product</x:ref> / <x:ref>comment</x:ref> ) )
    20802119</artwork></figure>
    20812120<t>
     
    20832122</t>
    20842123<figure><artwork type="example">
    2085     Server: CERN/3.0 libwww/2.17
     2124  Server: CERN/3.0 libwww/2.17
    20862125</artwork></figure>
    20872126<t>
     
    21032142  <iref primary="true" item="Headers" subitem="User-Agent" x:for-anchor=""/>
    21042143  <x:anchor-alias value="User-Agent"/>
    2105 <t>
    2106    The User-Agent request-header field contains information about the
     2144  <x:anchor-alias value="User-Agent-v"/>
     2145<t>
     2146   The request-header field "User-Agent" contains information about the
    21072147   user agent originating the request. This is for statistical purposes,
    21082148   the tracing of protocol violations, and automated recognition of user
     
    21152155   application.
    21162156</t>
    2117 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="User-Agent"/>
    2118   <x:ref>User-Agent</x:ref>     = "User-Agent" ":" 1*( <x:ref>product</x:ref> / <x:ref>comment</x:ref> )
     2157<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="User-Agent"/><iref primary="true" item="Grammar" subitem="User-Agent-v"/>
     2158  <x:ref>User-Agent</x:ref>     = "User-Agent" ":" <x:ref>OWS</x:ref> <x:ref>User-Agent-v</x:ref>
     2159  <x:ref>User-Agent-v</x:ref>   = <x:ref>product</x:ref>
     2160                   *( <x:ref>RWS</x:ref> ( <x:ref>product</x:ref> / <x:ref>comment</x:ref> ) )
    21192161</artwork></figure>
    21202162<t>
     
    21222164</t>
    21232165<figure><artwork type="example">
    2124     User-Agent: CERN-LineMode/2.15 libwww/2.17b3
     2166  User-Agent: CERN-LineMode/2.15 libwww/2.17b3
    21252167</artwork></figure>
    21262168</section>
     
    23592401   </c>
    23602402   <c>414</c>
    2361    <c>Request-URI Too Long</c>
     2403   <c>Request-target Too Long</c>
    23622404   <c>
    23632405      <xref target="status.414"/>
     
    25642606   Authors of services should not use
    25652607   GET-based forms for the submission of sensitive data because that
    2566    data will be encoded in the Request-URI. Many existing
    2567    servers, proxies, and user agents log or display the Request-URI in
     2608   data will be encoded in the Request-target. Many existing
     2609   servers, proxies, and user agents log or display the Request-target in
    25682610   places where it might be visible to third parties. Such services can
    25692611   use POST-based form submission instead.
     
    28712913  <seriesInfo name="BCP" value="14"/>
    28722914  <seriesInfo name="RFC" value="2119"/>
     2915</reference>
     2916
     2917<reference anchor="RFC5234">
     2918  <front>
     2919    <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title>
     2920    <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor">
     2921      <organization>Brandenburg InternetWorking</organization>
     2922      <address>
     2923      <postal>
     2924      <street>675 Spruce Dr.</street>
     2925      <city>Sunnyvale</city>
     2926      <region>CA</region>
     2927      <code>94086</code>
     2928      <country>US</country></postal>
     2929      <phone>+1.408.246.8253</phone>
     2930      <email>dcrocker@bbiw.net</email></address> 
     2931    </author>
     2932    <author initials="P." surname="Overell" fullname="Paul Overell">
     2933      <organization>THUS plc.</organization>
     2934      <address>
     2935      <postal>
     2936      <street>1/2 Berkeley Square</street>
     2937      <street>99 Berkely Street</street>
     2938      <city>Glasgow</city>
     2939      <code>G3 7HR</code>
     2940      <country>UK</country></postal>
     2941      <email>paul.overell@thus.net</email></address>
     2942    </author>
     2943    <date month="January" year="2008"/>
     2944  </front>
     2945  <seriesInfo name="STD" value="68"/>
     2946  <seriesInfo name="RFC" value="5234"/>
    28732947</reference>
    28742948
     
    31303204</section>
    31313205
     3206<section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Collected ABNF" anchor="collected.abnf">
     3207<figure>
     3208<artwork type="abnf" name="p2-semantics.parsed-abnf">
     3209<x:ref>Accept</x:ref> = &lt;Accept, defined in [Part3], Section 5.1&gt;
     3210<x:ref>Accept-Charset</x:ref> = &lt;Accept-Charset, defined in [Part3], Section 5.2&gt;
     3211<x:ref>Accept-Encoding</x:ref> = &lt;Accept-Encoding, defined in [Part3], Section 5.3&gt;
     3212<x:ref>Accept-Language</x:ref> = &lt;Accept-Language, defined in [Part3], Section 5.4&gt;
     3213<x:ref>Accept-Ranges</x:ref> = &lt;Accept-Ranges, defined in [Part5], Section 5.1&gt;
     3214<x:ref>Age</x:ref> = &lt;Age, defined in [Part6], Section 15.1&gt;
     3215<x:ref>Allow</x:ref> = "Allow:" OWS Allow-v
     3216<x:ref>Allow-v</x:ref> = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ]
     3217<x:ref>Authorization</x:ref> = &lt;Authorization, defined in [Part7], Section 3.1&gt;
     3218
     3219<x:ref>ETag</x:ref> = &lt;ETag, defined in [Part4], Section 6.1&gt;
     3220<x:ref>Expect</x:ref> = "Expect:" OWS Expect-v
     3221<x:ref>Expect-v</x:ref> = *( "," OWS ) expectation *( OWS "," [ OWS expectation ] )
     3222
     3223<x:ref>From</x:ref> = "From:" OWS From-v
     3224<x:ref>From-v</x:ref> = mailbox
     3225
     3226<x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in [Part1], Section 3.2.1&gt;
     3227<x:ref>Host</x:ref> = &lt;Host, defined in [Part1], Section 2.1&gt;
     3228
     3229<x:ref>If-Match</x:ref> = &lt;If-Match, defined in [Part4], Section 6.2&gt;
     3230<x:ref>If-Modified-Since</x:ref> = &lt;If-Modified-Since, defined in [Part4], Section
     3231 6.3&gt;
     3232<x:ref>If-None-Match</x:ref> = &lt;If-None-Match, defined in [Part4], Section 6.4&gt;
     3233<x:ref>If-Range</x:ref> = &lt;If-Range, defined in [Part5], Section 5.3&gt;
     3234<x:ref>If-Unmodified-Since</x:ref> = &lt;If-Unmodified-Since, defined in [Part4],
     3235 Section 6.5&gt;
     3236
     3237<x:ref>Location</x:ref> = "Location:" OWS Location-v
     3238<x:ref>Location-v</x:ref> = absolute-URI [ "#" fragment ]
     3239
     3240<x:ref>Max-Forwards</x:ref> = "Max-Forwards:" OWS Max-Forwards-v
     3241<x:ref>Max-Forwards-v</x:ref> = 1*DIGIT
     3242<x:ref>Method</x:ref> = %x4F.50.54.49.4F.4E.53 / %x47.45.54 / %x48.45.41.44 /
     3243 %x50.4F.53.54 / %x50.55.54 / %x44.45.4C.45.54.45 / %x54.52.41.43.45
     3244 / %x43.4F.4E.4E.45.43.54 / extension-method
     3245
     3246<x:ref>OWS</x:ref> = &lt;OWS, defined in [Part1], Section 1.2.2&gt;
     3247
     3248<x:ref>Proxy-Authenticate</x:ref> = &lt;Proxy-Authenticate, defined in [Part7], Section
     3249 3.2&gt;
     3250<x:ref>Proxy-Authorization</x:ref> = &lt;Proxy-Authorization, defined in [Part7],
     3251 Section 3.3&gt;
     3252
     3253<x:ref>RWS</x:ref> = &lt;RWS, defined in [Part1], Section 1.2.2&gt;
     3254<x:ref>Range</x:ref> = &lt;Range, defined in [Part5], Section 5.4&gt;
     3255<x:ref>Reason-Phrase</x:ref> = *( WSP / VCHAR / obs-text )
     3256<x:ref>Referer</x:ref> = "Referer:" OWS Referer-v
     3257<x:ref>Referer-v</x:ref> = absolute-URI / partial-URI
     3258<x:ref>Retry-After</x:ref> = "Retry-After:" OWS Retry-After-v
     3259<x:ref>Retry-After-v</x:ref> = HTTP-date / delta-seconds
     3260
     3261<x:ref>Server</x:ref> = "Server:" OWS Server-v
     3262<x:ref>Server-v</x:ref> = product *( RWS ( product / comment ) )
     3263<x:ref>Status-Code</x:ref> = "100" / "101" / "200" / "201" / "202" / "203" / "204" /
     3264 "205" / "206" / "300" / "301" / "302" / "303" / "304" / "305" /
     3265 "307" / "400" / "401" / "402" / "403" / "404" / "405" / "406" /
     3266 "407" / "408" / "409" / "410" / "411" / "412" / "413" / "414" /
     3267 "415" / "416" / "417" / "500" / "501" / "502" / "503" / "504" /
     3268 "505" / extension-code
     3269
     3270<x:ref>TE</x:ref> = &lt;TE, defined in [Part1], Section 8.8&gt;
     3271
     3272<x:ref>User-Agent</x:ref> = "User-Agent:" OWS User-Agent-v
     3273<x:ref>User-Agent-v</x:ref> = product *( RWS ( product / comment ) )
     3274
     3275<x:ref>Vary</x:ref> = &lt;Vary, defined in [Part6], Section 15.5&gt;
     3276
     3277<x:ref>WWW-Authenticate</x:ref> = &lt;WWW-Authenticate, defined in [Part7], Section
     3278 3.4&gt;
     3279
     3280<x:ref>absolute-URI</x:ref> = &lt;absolute-URI, defined in [Part1], Section 2.1&gt;
     3281
     3282<x:ref>comment</x:ref> = &lt;comment, defined in [Part1], Section 1.2.2&gt;
     3283
     3284<x:ref>delta-seconds</x:ref> = 1*DIGIT
     3285
     3286<x:ref>expect-params</x:ref> = ";" token [ "=" ( token / quoted-string ) ]
     3287<x:ref>expectation</x:ref> = "100-continue" / expectation-extension
     3288<x:ref>expectation-extension</x:ref> = token [ "=" ( token / quoted-string )
     3289 *expect-params ]
     3290<x:ref>extension-code</x:ref> = 3DIGIT
     3291<x:ref>extension-method</x:ref> = token
     3292
     3293<x:ref>fragment</x:ref> = &lt;fragment, defined in [Part1], Section 2.1&gt;
     3294
     3295<x:ref>mailbox</x:ref> = &lt;mailbox, defined in [RFC5322], Section 3.4&gt;
     3296
     3297<x:ref>obs-text</x:ref> = &lt;obs-text, defined in [Part1], Section 1.2.2&gt;
     3298
     3299<x:ref>partial-URI</x:ref> = &lt;partial-URI, defined in [Part1], Section 2.1&gt;
     3300<x:ref>product</x:ref> = &lt;product, defined in [Part1], Section 3.4&gt;
     3301
     3302<x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in [Part1], Section 1.2.2&gt;
     3303
     3304<x:ref>request-header</x:ref> = Accept / Accept-Charset / Accept-Encoding /
     3305 Accept-Language / Authorization / Expect / From / Host / If-Match /
     3306 If-Modified-Since / If-None-Match / If-Range / If-Unmodified-Since /
     3307 Max-Forwards / Proxy-Authorization / Range / Referer / TE /
     3308 User-Agent
     3309<x:ref>response-header</x:ref> = Accept-Ranges / Age / Allow / ETag / Location /
     3310 Proxy-Authenticate / Retry-After / Server / Vary / WWW-Authenticate
     3311
     3312<x:ref>token</x:ref> = &lt;token, defined in [Part1], Section 1.2.2&gt;
     3313
     3314; Reason-Phrase defined but not used
     3315; Status-Code defined but not used
     3316; request-header defined but not used
     3317; response-header defined but not used
     3318
     3319
     3320</artwork>
     3321</figure>
     3322</section>
     3323
    31323324<section title="Change Log (to be removed by RFC Editor before publication)" anchor="change.log">
    31333325
     
    33233515      Use "/" instead of "|" for alternatives.
    33243516    </t>
     3517    <t>
     3518      Introduce new ABNF rules for "bad" whitespace ("BWS"), optional
     3519      whitespace ("OWS") and required whitespace ("RWS").
     3520    </t>
     3521    <t>
     3522      Rewrite ABNFs to spell out whitespace rules, factor out
     3523      header value format definitions.
     3524    </t>
     3525  </list>
     3526</t>
     3527</section>
     3528
     3529<section title="Since draft-ietf-httpbis-p2-semantics-05" anchor="changes.since.05">
     3530<t>
     3531  Closed issues:
     3532  <list style="symbols">
     3533    <t>
     3534      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/94"/>:
     3535      "Reason-Phrase BNF"
     3536    </t>
     3537  </list>
     3538</t>
     3539<t>
     3540  Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>):
     3541  <list style="symbols">
     3542    <t>
     3543      Add appendix containing collected and expanded ABNF, reorganize ABNF introduction.
     3544    </t>
    33253545  </list>
    33263546</t>
Note: See TracChangeset for help on using the changeset viewer.