Changeset 1557


Ignore:
Timestamp:
Mar 3, 2012, 3:56:54 PM (7 years ago)
Author:
fielding@…
Message:

(editorial) Consistently use lowercase for ABNF rule names other than header fields

Location:
draft-ietf-httpbis/latest
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/extract-method-defs.xslt

    r292 r1557  
    1414      <ttcol>Safe</ttcol>
    1515      <ttcol>Reference</ttcol>
    16       <xsl:apply-templates select="//section[iref/@item='Methods']">
    17         <xsl:sort select="iref[@item='Methods']/@subitem"/>
     16      <xsl:apply-templates select="//section[iref/@item='methods']">
     17        <xsl:sort select="iref[@item='methods']/@subitem"/>
    1818      </xsl:apply-templates>
    1919    </texttable>
     
    7575<xsl:template match="section">
    7676
    77   <xsl:variable name="text" select="iref[@item='Methods']/@subitem"/>
     77  <xsl:variable name="text" select="iref[@item='methods']/@subitem"/>
    7878
    7979  <xsl:variable name="safe" xmlns:p2="urn:ietf:id:draft-ietf-httpbis-p2-semantics#">
  • draft-ietf-httpbis/latest/httpbis.abnf

    r1546 r1557  
    99Accept-Ranges = acceptable-ranges
    1010Age = delta-seconds
    11 Allow = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ]
     11Allow = [ ( "," / method ) *( OWS "," [ OWS method ] ) ]
    1212Authorization = credentials
    1313BWS = OWS
    1414Cache-Control = *( "," OWS ) cache-directive *( OWS "," [ OWS cache-directive ] )
    15 Chunked-Body = *chunk last-chunk trailer-part CRLF
    1615Connection = *( "," OWS ) connection-token *( OWS "," [ OWS connection-token ] )
    1716Content-Encoding = *( "," OWS ) content-coding *( OWS "," [ OWS content-coding ] )
     
    2827GMT = %x47.4D.54 ; GMT
    2928
    30 HTTP-Prot-Name = %x48.54.54.50 ; HTTP
    31 
    32 HTTP-Version = HTTP-Prot-Name "/" DIGIT "." DIGIT
    3329HTTP-date = rfc1123-date / obs-date
    3430HTTP-message = start-line *( header-field CRLF ) CRLF [ message-body ]
     31HTTP-name = %x48.54.54.50 ; HTTP
     32
     33HTTP-version = HTTP-name "/" DIGIT "." DIGIT
    3534Host = uri-host [ ":" port ]
    3635If-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS entity-tag ] ) )
     
    4342MIME-Version = 1*DIGIT "." 1*DIGIT
    4443Max-Forwards = 1*DIGIT
    45 Method = token
    4644OWS = *( SP / HTAB )
    4745Pragma = *( "," OWS ) pragma-directive *( OWS "," [ OWS pragma-directive ] )
     
    5048RWS = 1*( SP / HTAB )
    5149Range = byte-ranges-specifier / other-ranges-specifier
    52 Reason-Phrase = *( HTAB / SP / VCHAR / obs-text )
    5350Referer = absolute-URI / partial-URI
    54 Request-Line = Method SP request-target SP HTTP-Version CRLF
    5551Retry-After = HTTP-date / delta-seconds
    5652Server = product *( RWS ( product / comment ) )
    57 Status-Code = 3DIGIT
    58 Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    5953TE = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ]
    6054Trailer = *( "," OWS ) field-name *( OWS "," [ OWS field-name ] )
     
    9589chunk-ext-val = token / quoted-str-nf
    9690chunk-size = 1*HEXDIG
     91chunked-body = *chunk last-chunk trailer-part CRLF
    9792codings = content-coding / "identity" / "*"
    9893comment = "(" *( ctext / quoted-cpair / comment ) ")"
     
    150145media-type = type "/" subtype *( OWS ";" OWS parameter )
    151146message-body = *OCTET
     147method = token
    152148minute = 2DIGIT
    153149month = %x4A.61.6E ; Jan
     
    198194qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    199195range-unit = bytes-unit / other-range-unit
     196reason-phrase = *( HTAB / SP / VCHAR / obs-text )
    200197received-by = ( uri-host [ ":" port ] ) / pseudonym
    201198received-protocol = [ protocol-name "/" ] protocol-version
    202199relative-part = <relative-part, defined in [RFC3986], Section 4.2>
     200request-line = method SP request-target SP HTTP-version CRLF
    203201request-target = "*" / absolute-URI / ( path-absolute [ "?" query ] ) / authority
    204202rfc1123-date = day-name "," SP date1 SP time-of-day SP GMT
     
    206204second = 2DIGIT
    207205special = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" / DQUOTE / "/" / "[" / "]" / "?" / "=" / "{" / "}"
    208 start-line = Request-Line / Status-Line
     206start-line = request-line / status-line
     207status-code = 3DIGIT
     208status-line = HTTP-version SP status-code SP reason-phrase CRLF
    209209subtype = token
    210210suffix-byte-range-spec = "-" suffix-length
     
    241241; Authorization defined but not used
    242242; Cache-Control defined but not used
    243 ; Chunked-Body defined but not used
    244243; Connection defined but not used
    245244; Content-Encoding defined but not used
     
    281280; WWW-Authenticate defined but not used
    282281; Warning defined but not used
     282; chunked-body defined but not used
    283283; http-URI defined but not used
    284284; https-URI defined but not used
  • draft-ietf-httpbis/latest/p1-messaging.html

    r1556 r1557  
    668668         <li>3.&nbsp;&nbsp;&nbsp;<a href="#http.message">Message Format</a><ul>
    669669               <li>3.1&nbsp;&nbsp;&nbsp;<a href="#start.line">Start Line</a><ul>
    670                      <li>3.1.1&nbsp;&nbsp;&nbsp;<a href="#request.line">Request-Line</a><ul>
     670                     <li>3.1.1&nbsp;&nbsp;&nbsp;<a href="#request.line">Request Line</a><ul>
    671671                           <li>3.1.1.1&nbsp;&nbsp;&nbsp;<a href="#method">Method</a></li>
    672672                           <li>3.1.1.2&nbsp;&nbsp;&nbsp;<a href="#request-target">request-target</a></li>
    673673                        </ul>
    674674                     </li>
    675                      <li>3.1.2&nbsp;&nbsp;&nbsp;<a href="#status.line">Response Status-Line</a><ul>
     675                     <li>3.1.2&nbsp;&nbsp;&nbsp;<a href="#status.line">Response Status Line</a><ul>
    676676                           <li>3.1.2.1&nbsp;&nbsp;&nbsp;<a href="#status.code">Status Code</a></li>
    677677                           <li>3.1.2.2&nbsp;&nbsp;&nbsp;<a href="#reason.phrase">Reason Phrase</a></li>
     
    919919      <div id="rfc.iref.r.2"></div>
    920920      <div id="rfc.iref.r.3"></div>
    921       <p id="rfc.section.2.1.p.6">A client sends an HTTP request to the server in the form of a <dfn>request</dfn> message, beginning with a request-line that includes a method, URI, and protocol version (<a href="#request.line" title="Request-Line">Section&nbsp;3.1.1</a>), followed by MIME-like header fields containing request modifiers, client information, and payload metadata (<a href="#header.fields" title="Header Fields">Section&nbsp;3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section&nbsp;3.3</a>).
     921      <p id="rfc.section.2.1.p.6">A client sends an HTTP request to the server in the form of a <dfn>request</dfn> message, beginning with a request-line that includes a method, URI, and protocol version (<a href="#request.line" title="Request Line">Section&nbsp;3.1.1</a>), followed by MIME-like header fields containing request modifiers, client information, and payload metadata (<a href="#header.fields" title="Header Fields">Section&nbsp;3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section&nbsp;3.3</a>).
    922922      </p>
    923923      <p id="rfc.section.2.1.p.7">A server responds to the client's request by sending one or more HTTP <dfn>response</dfn> messages, each beginning with a status line that includes the protocol version, a success or error code, and textual reason
    924          phrase (<a href="#status.line" title="Response Status-Line">Section&nbsp;3.1.2</a>), possibly followed by MIME-like header fields containing server information, resource metadata, and payload metadata (<a href="#header.fields" title="Header Fields">Section&nbsp;3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section&nbsp;3.3</a>).
     924         phrase (<a href="#status.line" title="Response Status Line">Section&nbsp;3.1.2</a>), possibly followed by MIME-like header fields containing server information, resource metadata, and payload metadata (<a href="#header.fields" title="Header Fields">Section&nbsp;3.2</a>), an empty line to indicate the end of the header section, and finally a message body containing the payload body (if any, <a href="#message.body" title="Message Body">Section&nbsp;3.3</a>).
    925925      </p>
    926926      <p id="rfc.section.2.1.p.8">The following example illustrates a typical message exchange for a GET request on the URI "http://www.example.com/hello.txt":</p>
     
    10561056         corresponding specification of HTTP.
    10571057      </p>
    1058       <p id="rfc.section.2.6.p.2">The version of an HTTP message is indicated by an HTTP-Version field in the first line of the message. HTTP-Version is case-sensitive.</p>
    1059       <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#http.version" class="smpl">HTTP-Version</a>   = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" <a href="#core.rules" class="smpl">DIGIT</a> "." <a href="#core.rules" class="smpl">DIGIT</a>
    1060   <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; "HTTP", case-sensitive
     1058      <p id="rfc.section.2.6.p.2">The version of an HTTP message is indicated by an HTTP-version field in the first line of the message. HTTP-version is case-sensitive.</p>
     1059      <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#http.version" class="smpl">HTTP-version</a>   = <a href="#http.version" class="smpl">HTTP-name</a> "/" <a href="#core.rules" class="smpl">DIGIT</a> "." <a href="#core.rules" class="smpl">DIGIT</a>
     1060  <a href="#http.version" class="smpl">HTTP-name</a> = %x48.54.54.50 ; "HTTP", case-sensitive
    10611061</pre><p id="rfc.section.2.6.p.4">The HTTP version number consists of two decimal digits separated by a "." (period or decimal point). The first digit ("major
    10621062         version") indicates the HTTP messaging syntax, whereas the second digit ("minor version") indicates the highest minor version
     
    10791079         by a proxy <em class="bcp14">MUST</em> be forwarded downstream unless the header field's field-name is listed in the message's Connection header-field (see <a href="#header.connection" id="rfc.xref.header.connection.2" title="Connection">Section&nbsp;8.1</a>). These requirements allow HTTP's functionality to be enhanced without requiring prior update of deployed intermediaries.
    10801080      </p>
    1081       <p id="rfc.section.2.6.p.8">Intermediaries that process HTTP messages (i.e., all intermediaries other than those acting as tunnels) <em class="bcp14">MUST</em> send their own HTTP-Version in forwarded messages. In other words, they <em class="bcp14">MUST NOT</em> blindly forward the first line of an HTTP message without ensuring that the protocol version in that message matches a version
     1081      <p id="rfc.section.2.6.p.8">Intermediaries that process HTTP messages (i.e., all intermediaries other than those acting as tunnels) <em class="bcp14">MUST</em> send their own HTTP-version in forwarded messages. In other words, they <em class="bcp14">MUST NOT</em> blindly forward the first line of an HTTP message without ensuring that the protocol version in that message matches a version
    10821082         to which that intermediary is conformant for both the receiving and sending of messages. Forwarding an HTTP message without
    1083          rewriting the HTTP-Version might result in communication errors when downstream recipients use the message sender's version
     1083         rewriting the HTTP-version might result in communication errors when downstream recipients use the message sender's version
    10841084         to determine what features are safe to use for later communication with that sender.
    10851085      </p>
     
    10971097      <p id="rfc.section.2.6.p.12">An HTTP server <em class="bcp14">MAY</em> send an HTTP/1.0 response to an HTTP/1.0 request if it is known or suspected that the client incorrectly implements the HTTP
    10981098         specification and is incapable of correctly processing later version responses, such as when a client fails to parse the version
    1099          number correctly or when an intermediary is known to blindly forward the HTTP-Version even when it doesn't conform to the
     1099         number correctly or when an intermediary is known to blindly forward the HTTP-version even when it doesn't conform to the
    11001100         given minor version of the protocol. Such protocol downgrades <em class="bcp14">SHOULD NOT</em> be performed unless triggered by specific client attributes, such as when one or more of the request header fields (e.g.,
    11011101         User-Agent) uniquely match the values sent by a client known to be in error.
     
    12281228      <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;<a id="start.line" href="#start.line">Start Line</a></h2>
    12291229      <p id="rfc.section.3.1.p.1">An HTTP message can either be a request from client to server or a response from server to client. Syntactically, the two
    1230          types of message differ only in the start-line, which is either a Request-Line (for requests) or a Status-Line (for responses),
     1230         types of message differ only in the start-line, which is either a request-line (for requests) or a status-line (for responses),
    12311231         and in the algorithm for determining the length of the message body (<a href="#message.body" title="Message Body">Section&nbsp;3.3</a>). In theory, a client could receive requests and a server could receive responses, distinguishing them by their different
    12321232         start-line formats, but in practice servers are implemented to only expect a request (a response is interpreted as an unknown
    12331233         or invalid request method) and clients are implemented to only expect a response.
    12341234      </p>
    1235       <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.26"></span>  <a href="#http.message" class="smpl">start-line</a>      = <a href="#request.line" class="smpl">Request-Line</a> / <a href="#status.line" class="smpl">Status-Line</a>
     1235      <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.26"></span>  <a href="#http.message" class="smpl">start-line</a>      = <a href="#request.line" class="smpl">request-line</a> / <a href="#status.line" class="smpl">status-line</a>
    12361236</pre><p id="rfc.section.3.1.p.4">Implementations <em class="bcp14">MUST NOT</em> send whitespace between the start-line and the first header field. The presence of such whitespace in a request might be an
    12371237         attempt to trick a server into ignoring that field or processing the line after it as a new request, either of which might
     
    12391239         Likewise, the presence of such whitespace in a response might be ignored by some clients or cause others to cease parsing.
    12401240      </p>
    1241       <h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a>&nbsp;<a id="request.line" href="#request.line">Request-Line</a></h3>
    1242       <p id="rfc.section.3.1.1.p.1">The Request-Line begins with a method token, followed by a single space (SP), the request-target, another single space (SP),
     1241      <h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a>&nbsp;<a id="request.line" href="#request.line">Request Line</a></h3>
     1242      <p id="rfc.section.3.1.1.p.1">A request-line begins with a method token, followed by a single space (SP), the request-target, another single space (SP),
    12431243         the protocol version, and ending with CRLF.
    12441244      </p>
    1245       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.27"></span>  <a href="#request.line" class="smpl">Request-Line</a>   = <a href="#method" class="smpl">Method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">CRLF</a>
     1245      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.27"></span>  <a href="#request.line" class="smpl">request-line</a>   = <a href="#method" class="smpl">method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-target" class="smpl">request-target</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">CRLF</a>
    12461246</pre><h4 id="rfc.section.3.1.1.1"><a href="#rfc.section.3.1.1.1">3.1.1.1</a>&nbsp;<a id="method" href="#method">Method</a></h4>
    1247       <p id="rfc.section.3.1.1.1.p.1">The Method token indicates the request method to be performed on the target resource. The request method is case-sensitive.</p>
    1248       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.28"></span>  <a href="#method" class="smpl">Method</a>         = <a href="#rule.token.separators" class="smpl">token</a>
    1249 </pre><p id="rfc.section.3.1.1.1.p.3">See <a href="p2-semantics.html#method" title="Method">Section 2</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a> for further information, such as the list of methods defined by this specification, the IANA registry, and considerations
    1250          for new methods.
     1247      <p id="rfc.section.3.1.1.1.p.1">The method token indicates the request method to be performed on the target resource. The request method is case-sensitive.</p>
     1248      <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.28"></span>  <a href="#method" class="smpl">method</a>         = <a href="#rule.token.separators" class="smpl">token</a>
     1249</pre><p id="rfc.section.3.1.1.1.p.3">The methods defined by this specification can be found in <a href="p2-semantics.html#method" title="Method">Section 2</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, along with information regarding the HTTP method registry and considerations for defining new methods.
    12511250      </p>
    12521251      <h4 id="rfc.section.3.1.1.2"><a href="#rfc.section.3.1.1.2">3.1.1.2</a>&nbsp;<a id="request-target" href="#request-target">request-target</a></h4>
     
    12671266         </p>
    12681267      </div>
    1269       <h3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a>&nbsp;<a id="status.line" href="#status.line">Response Status-Line</a></h3>
    1270       <p id="rfc.section.3.1.2.p.1">The first line of a Response message is the Status-Line, consisting of the protocol version, a space (SP), the status code,
     1268      <h3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a>&nbsp;<a id="status.line" href="#status.line">Response Status Line</a></h3>
     1269      <p id="rfc.section.3.1.2.p.1">The first line of a response message is the status-line, consisting of the protocol version, a space (SP), the status code,
    12711270         another space, a possibly-empty textual phrase describing the status code, and ending with CRLF.
    12721271      </p>
    1273       <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.30"></span>  <a href="#status.line" class="smpl">Status-Line</a> = <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#reason.phrase" class="smpl">Reason-Phrase</a> <a href="#core.rules" class="smpl">CRLF</a>
     1272      <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.30"></span>  <a href="#status.line" class="smpl">status-line</a> = <a href="#http.version" class="smpl">HTTP-version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code" class="smpl">status-code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#reason.phrase" class="smpl">reason-phrase</a> <a href="#core.rules" class="smpl">CRLF</a>
    12741273</pre><h4 id="rfc.section.3.1.2.1"><a href="#rfc.section.3.1.2.1">3.1.2.1</a>&nbsp;<a id="status.code" href="#status.code">Status Code</a></h4>
    1275       <p id="rfc.section.3.1.2.1.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. See <a href="p2-semantics.html#status.code.and.reason.phrase" title="Status Code and Reason Phrase">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a> for further information, such as the list of status codes defined by this specification, the IANA registry, and considerations
     1274      <p id="rfc.section.3.1.2.1.p.1">The status-code element is a 3-digit integer result code of the attempt to understand and satisfy the request. See <a href="p2-semantics.html#status.code.and.reason.phrase" title="Status Code and Reason Phrase">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a> for further information, such as the list of status codes defined by this specification, the IANA registry, and considerations
    12761275         for new status codes.
    12771276      </p>
    1278       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  <a href="#status.code" class="smpl">Status-Code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a>
     1277      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.31"></span>  <a href="#status.code" class="smpl">status-code</a>    = 3<a href="#core.rules" class="smpl">DIGIT</a>
    12791278</pre><h4 id="rfc.section.3.1.2.2"><a href="#rfc.section.3.1.2.2">3.1.2.2</a>&nbsp;<a id="reason.phrase" href="#reason.phrase">Reason Phrase</a></h4>
    12801279      <p id="rfc.section.3.1.2.2.p.1">The Reason Phrase exists for the sole purpose of providing a textual description associated with the numeric status code,
     
    12821281         client <em class="bcp14">SHOULD</em> ignore the content of the Reason Phrase.
    12831282      </p>
    1284       <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#reason.phrase" class="smpl">Reason-Phrase</a>  = *( <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )
     1283      <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.32"></span>  <a href="#reason.phrase" class="smpl">reason-phrase</a>  = *( <a href="#core.rules" class="smpl">HTAB</a> / <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#rule.quoted-string" class="smpl">obs-text</a> )
    12851284</pre><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;<a id="header.fields" href="#header.fields">Header Fields</a></h2>
    12861285      <p id="rfc.section.3.2.p.1">Each HTTP header field consists of a case-insensitive field name followed by a colon (":"), optional whitespace, and the field
     
    16161615         the client <em class="bcp14">MUST</em> include the terminating CRLF octets as part of the message body length.
    16171616      </p>
    1618       <p id="rfc.section.3.5.p.2">In the interest of robustness, servers <em class="bcp14">SHOULD</em> ignore at least one empty line received where a Request-Line is expected. In other words, if the server is reading the protocol
     1617      <p id="rfc.section.3.5.p.2">In the interest of robustness, servers <em class="bcp14">SHOULD</em> ignore at least one empty line received where a request-line is expected. In other words, if the server is reading the protocol
    16191618         stream at the beginning of a message and receives a CRLF first, it <em class="bcp14">SHOULD</em> ignore the CRLF. Likewise, although the line terminator for the start-line and header fields is the sequence CRLF, we recommend
    16201619         that recipients recognize a single LF as a line terminator and ignore any CR.
     
    16531652            cache, and then return the response. Note that the proxy <em class="bcp14">MAY</em> forward the request on to another proxy or directly to the server specified by the absolute-URI. In order to avoid request
    16541653            loops, a proxy that forwards requests to other proxies <em class="bcp14">MUST</em> be able to recognize and exclude all of its own server names, including any aliases, local variations, or literal IP addresses.
    1655             An example Request-Line would be:
     1654            An example request-line would be:
    16561655         </p>
    16571656      </div>
     
    17241723         <li>the authority component, as specified in the Host header field (<a href="#header.host" id="rfc.xref.header.host.1" title="Host">Section&nbsp;8.2</a>), and
    17251724         </li>
    1726          <li>the request-target obtained from the Request-Line, unless the request-target is just the asterisk "*".</li>
     1725         <li>the request-target obtained from the request-line, unless the request-target is just the asterisk "*".</li>
    17271726      </ul>
    17281727      <p id="rfc.section.4.3.p.5">If the request-target uses the origin form or the asterisk form, and the Host header field is not present, then the effective
     
    17781777         for the recipient to verify that it has received the full message.
    17791778      </p>
    1780       <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span>  <a href="#chunked.encoding" class="smpl">Chunked-Body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a>
     1779      <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.62"></span><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span><span id="rfc.iref.g.70"></span><span id="rfc.iref.g.71"></span><span id="rfc.iref.g.72"></span>  <a href="#chunked.encoding" class="smpl">chunked-body</a>   = *<a href="#chunked.encoding" class="smpl">chunk</a>
    17811780                   <a href="#chunked.encoding" class="smpl">last-chunk</a>
    17821781                   <a href="#chunked.encoding" class="smpl">trailer-part</a>
     
    23002299      <p id="rfc.section.8.2.p.1">The "Host" header field in a request provides the host and port information from the target resource's URI, enabling the origin
    23012300         server to distinguish between resources while servicing requests for multiple host names on a single IP address. Since the
    2302          Host field-value is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the Request-Line.
     2301         Host field-value is critical information for handling a request, it <em class="bcp14">SHOULD</em> be sent as the first header field following the request-line.
    23032302      </p>
    23042303      <div id="rfc.figure.u.57"></div><pre class="inline"><span id="rfc.iref.g.82"></span>  <a href="#header.host" class="smpl">Host</a> = <a href="#uri" class="smpl">uri-host</a> [ ":" <a href="#uri" class="smpl">port</a> ] ; <a href="#http.uri" title="http URI scheme">Section&nbsp;2.7.1</a>
     
    25532552            <dl>
    25542553               <dt>version:</dt>
    2555                <dd>The HTTP-Version number of the enclosed message (e.g., "1.1"). If not present, the version can be determined from the first
     2554               <dd>The HTTP-version number of the enclosed message (e.g., "1.1"). If not present, the version can be determined from the first
    25562555                  line of the body.
    25572556               </dd>
     
    26062605            <dl>
    26072606               <dt>version:</dt>
    2608                <dd>The HTTP-Version number of the enclosed messages (e.g., "1.1"). If not present, the version can be determined from the first
     2607               <dd>The HTTP-version number of the enclosed messages (e.g., "1.1"). If not present, the version can be determined from the first
    26092608                  line of the body.
    26102609               </dd>
     
    30743073         where specifically defined in the ABNF. (<a href="#whitespace" title="Whitespace">Section&nbsp;3.2.1</a>)
    30753074      </p>
    3076       <p id="rfc.section.A.2.p.3">Clarify that the string "HTTP" in the HTTP-Version ABFN production is case sensitive. Restrict the version numbers to be single
     3075      <p id="rfc.section.A.2.p.3">Clarify that the string "HTTP" in the HTTP-version ABFN production is case sensitive. Restrict the version numbers to be single
    30773076         digits due to the fact that implementations are known to handle multi-digit version numbers incorrectly. (<a href="#http.version" title="Protocol Versioning">Section&nbsp;2.6</a>)
    30783077      </p>
     
    31073106      <div id="rfc.figure.u.65"></div> <pre class="inline"><a href="#rule.whitespace" class="smpl">BWS</a> = OWS
    31083107
    3109 <a href="#chunked.encoding" class="smpl">Chunked-Body</a> = *chunk last-chunk trailer-part CRLF
    31103108<a href="#header.connection" class="smpl">Connection</a> = *( "," OWS ) connection-token *( OWS "," [ OWS
    31113109 connection-token ] )
    31123110<a href="#header.content-length" class="smpl">Content-Length</a> = 1*DIGIT
    31133111
    3114 <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; HTTP
    3115 <a href="#http.version" class="smpl">HTTP-Version</a> = HTTP-Prot-Name "/" DIGIT "." DIGIT
    31163112<a href="#http.message" class="smpl">HTTP-message</a> = start-line *( header-field CRLF ) CRLF [ message-body
    31173113 ]
     3114<a href="#http.version" class="smpl">HTTP-name</a> = %x48.54.54.50 ; HTTP
     3115<a href="#http.version" class="smpl">HTTP-version</a> = HTTP-name "/" DIGIT "." DIGIT
    31183116<a href="#header.host" class="smpl">Host</a> = uri-host [ ":" port ]
    31193117
    3120 <a href="#method" class="smpl">Method</a> = token
    3121 
    31223118<a href="#rule.whitespace" class="smpl">OWS</a> = *( SP / HTAB )
    31233119
    31243120<a href="#rule.whitespace" class="smpl">RWS</a> = 1*( SP / HTAB )
    3125 <a href="#reason.phrase" class="smpl">Reason-Phrase</a> = *( HTAB / SP / VCHAR / obs-text )
    3126 <a href="#request.line" class="smpl">Request-Line</a> = Method SP request-target SP HTTP-Version CRLF
    3127 
    3128 <a href="#status.code" class="smpl">Status-Code</a> = 3DIGIT
    3129 <a href="#status.line" class="smpl">Status-Line</a> = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    31303121
    31313122<a href="#header.te" class="smpl">TE</a> = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ]
     
    31513142<a href="#chunked.encoding" class="smpl">chunk-ext-val</a> = token / quoted-str-nf
    31523143<a href="#chunked.encoding" class="smpl">chunk-size</a> = 1*HEXDIG
     3144<a href="#chunked.encoding" class="smpl">chunked-body</a> = *chunk last-chunk trailer-part CRLF
    31533145<a href="#rule.comment" class="smpl">comment</a> = "(" *( ctext / quoted-cpair / comment ) ")"
    31543146<a href="#header.connection" class="smpl">connection-token</a> = token
     
    31693161
    31703162<a href="#message.body" class="smpl">message-body</a> = *OCTET
     3163<a href="#method" class="smpl">method</a> = token
    31713164
    31723165<a href="#header.fields" class="smpl">obs-fold</a> = CRLF ( SP / HTAB )
     
    31953188<a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    31963189
     3190<a href="#reason.phrase" class="smpl">reason-phrase</a> = *( HTAB / SP / VCHAR / obs-text )
    31973191<a href="#header.via" class="smpl">received-by</a> = ( uri-host [ ":" port ] ) / pseudonym
    31983192<a href="#header.via" class="smpl">received-protocol</a> = [ protocol-name "/" ] protocol-version
    31993193<a href="#uri" class="smpl">relative-part</a> = &lt;relative-part, defined in [RFC3986], Section 4.2&gt;
     3194<a href="#request.line" class="smpl">request-line</a> = method SP request-target SP HTTP-version CRLF
    32003195<a href="#request-target" class="smpl">request-target</a> = "*" / absolute-URI / ( path-absolute [ "?" query ] )
    32013196 / authority
     
    32033198<a href="#rule.token.separators" class="smpl">special</a> = "(" / ")" / "&lt;" / "&gt;" / "@" / "," / ";" / ":" / "\" /
    32043199 DQUOTE / "/" / "[" / "]" / "?" / "=" / "{" / "}"
    3205 <a href="#http.message" class="smpl">start-line</a> = Request-Line / Status-Line
     3200<a href="#http.message" class="smpl">start-line</a> = request-line / status-line
     3201<a href="#status.code" class="smpl">status-code</a> = 3DIGIT
     3202<a href="#status.line" class="smpl">status-line</a> = HTTP-version SP status-code SP reason-phrase CRLF
    32063203
    32073204<a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( transfer-extension [ te-params ] )
     
    32233220<a href="#rule.token.separators" class="smpl">word</a> = token / quoted-string
    32243221</pre> <div id="rfc.figure.u.66"></div>
    3225       <p>ABNF diagnostics:</p><pre class="inline">; Chunked-Body defined but not used
    3226 ; Connection defined but not used
     3222      <p>ABNF diagnostics:</p><pre class="inline">; Connection defined but not used
    32273223; Content-Length defined but not used
    32283224; HTTP-message defined but not used
     
    32343230; Upgrade defined but not used
    32353231; Via defined but not used
     3232; chunked-body defined but not used
    32363233; http-URI defined but not used
    32373234; https-URI defined but not used
     
    33363333      </p>
    33373334      <ul>
    3338          <li>Replace string literals when the string really is case-sensitive (HTTP-Version).</li>
     3335         <li>Replace string literals when the string really is case-sensitive (HTTP-version).</li>
    33393336      </ul>
    33403337      <h2 id="rfc.section.C.5"><a href="#rfc.section.C.5">C.5</a>&nbsp;<a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></h2>
     
    33923389         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/83">http://tools.ietf.org/wg/httpbis/trac/ticket/83</a>&gt;: "OPTIONS * and proxies"
    33933390         </li>
    3394          <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>&gt;: "Reason-Phrase BNF"
     3391         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>&gt;: "reason-phrase BNF"
    33953392         </li>
    33963393         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/111">http://tools.ietf.org/wg/httpbis/trac/ticket/111</a>&gt;: "Use of TEXT"
     
    35613558      <p id="rfc.section.C.16.p.1">Closed issues: </p>
    35623559      <ul>
    3563          <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/273">http://tools.ietf.org/wg/httpbis/trac/ticket/273</a>&gt;: "HTTP-Version should be redefined as fixed length pair of DIGIT . DIGIT"
     3560         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/273">http://tools.ietf.org/wg/httpbis/trac/ticket/273</a>&gt;: "HTTP-version should be redefined as fixed length pair of DIGIT . DIGIT"
    35643561         </li>
    35653562         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/282">http://tools.ietf.org/wg/httpbis/trac/ticket/282</a>&gt;: "Recommend minimum sizes for protocol elements"
     
    36813678                        <li><tt>chunk-ext-val</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.68"><b>5.1</b></a></li>
    36823679                        <li><tt>chunk-size</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.64"><b>5.1</b></a></li>
    3683                         <li><tt>Chunked-Body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62"><b>5.1</b></a></li>
     3680                        <li><tt>chunked-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.62"><b>5.1</b></a></li>
    36843681                        <li><tt>comment</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.49"><b>3.2.4</b></a></li>
    36853682                        <li><tt>Connection</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.80"><b>8.1</b></a></li>
     
    37023699                        <li>HTAB&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>1.2</b></a></li>
    37033700                        <li><tt>HTTP-message</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.25"><b>3</b></a></li>
    3704                         <li><tt>HTTP-Prot-Name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>2.6</b></a></li>
     3701                        <li><tt>HTTP-name</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>2.6</b></a></li>
    37053702                        <li><tt>http-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>2.7.1</b></a></li>
    3706                         <li><tt>HTTP-Version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>2.6</b></a></li>
     3703                        <li><tt>HTTP-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>2.6</b></a></li>
    37073704                        <li><tt>https-URI</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.24"><b>2.7.2</b></a></li>
    37083705                        <li><tt>last-chunk</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.65"><b>5.1</b></a></li>
    37093706                        <li>LF&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>1.2</b></a></li>
    37103707                        <li><tt>message-body</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.52"><b>3.3</b></a></li>
    3711                         <li><tt>Method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>3.1.1.1</b></a></li>
     3708                        <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.28"><b>3.1.1.1</b></a></li>
    37123709                        <li><tt>obs-fold</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>3.2</b></a></li>
    37133710                        <li><tt>obs-text</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.47"><b>3.2.4</b></a></li>
     
    37273724                        <li><tt>quoted-string</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.45"><b>3.2.4</b></a></li>
    37283725                        <li><tt>qvalue</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.78"><b>5.4.1</b></a></li>
    3729                         <li><tt>Reason-Phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>3.1.2.2</b></a></li>
     3726                        <li><tt>reason-phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>3.1.2.2</b></a></li>
    37303727                        <li><tt>received-by</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.88"><b>8.4</b></a></li>
    37313728                        <li><tt>received-protocol</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.85"><b>8.4</b></a></li>
    3732                         <li><tt>Request-Line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.27"><b>3.1.1</b></a></li>
     3729                        <li><tt>request-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.27"><b>3.1.1</b></a></li>
    37333730                        <li><tt>request-target</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.29"><b>3.1.1.2</b></a></li>
    37343731                        <li><tt>RWS</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.39"><b>3.2.1</b></a></li>
     
    37363733                        <li><tt>special</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.44"><b>3.2.4</b></a></li>
    37373734                        <li><tt>start-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.26"><b>3.1</b></a></li>
    3738                         <li><tt>Status-Code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>3.1.2.1</b></a></li>
    3739                         <li><tt>Status-Line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>3.1.2</b></a></li>
     3735                        <li><tt>status-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.31"><b>3.1.2.1</b></a></li>
     3736                        <li><tt>status-line</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.30"><b>3.1.2</b></a></li>
    37403737                        <li><tt>t-codings</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.75"><b>5.4</b></a></li>
    37413738                        <li><tt>tchar</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.43"><b>3.2.4</b></a></li>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r1556 r1557  
    702702
    703703<section title="Protocol Versioning" anchor="http.version">
    704   <x:anchor-alias value="HTTP-Version"/>
    705   <x:anchor-alias value="HTTP-Prot-Name"/>
     704  <x:anchor-alias value="HTTP-version"/>
     705  <x:anchor-alias value="HTTP-name"/>
    706706<t>
    707707   HTTP uses a "&lt;major&gt;.&lt;minor&gt;" numbering scheme to indicate
     
    712712</t>
    713713<t>
    714    The version of an HTTP message is indicated by an HTTP-Version field
    715    in the first line of the message. HTTP-Version is case-sensitive.
    716 </t>
    717 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-Version"/><iref primary="true" item="Grammar" subitem="HTTP-Prot-Name"/>
    718   <x:ref>HTTP-Version</x:ref>   = <x:ref>HTTP-Prot-Name</x:ref> "/" <x:ref>DIGIT</x:ref> "." <x:ref>DIGIT</x:ref>
    719   <x:ref>HTTP-Prot-Name</x:ref> = <x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence> ; "HTTP", case-sensitive
     714   The version of an HTTP message is indicated by an HTTP-version field
     715   in the first line of the message. HTTP-version is case-sensitive.
     716</t>
     717<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-version"/><iref primary="true" item="Grammar" subitem="HTTP-name"/>
     718  <x:ref>HTTP-version</x:ref>   = <x:ref>HTTP-name</x:ref> "/" <x:ref>DIGIT</x:ref> "." <x:ref>DIGIT</x:ref>
     719  <x:ref>HTTP-name</x:ref> = <x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence> ; "HTTP", case-sensitive
    720720</artwork></figure>
    721721<t>
     
    764764<t>
    765765   Intermediaries that process HTTP messages (i.e., all intermediaries
    766    other than those acting as tunnels) &MUST; send their own HTTP-Version
     766   other than those acting as tunnels) &MUST; send their own HTTP-version
    767767   in forwarded messages.  In other words, they &MUST-NOT; blindly
    768768   forward the first line of an HTTP message without ensuring that the
     
    770770   intermediary is conformant for both the receiving and
    771771   sending of messages.  Forwarding an HTTP message without rewriting
    772    the HTTP-Version might result in communication errors when downstream
     772   the HTTP-version might result in communication errors when downstream
    773773   recipients use the message sender's version to determine what features
    774774   are safe to use for later communication with that sender.
     
    803803   version responses, such as when a client fails to parse the version
    804804   number correctly or when an intermediary is known to blindly forward
    805    the HTTP-Version even when it doesn't conform to the given minor
     805   the HTTP-version even when it doesn't conform to the given minor
    806806   version of the protocol. Such protocol downgrades &SHOULD-NOT; be
    807807   performed unless triggered by specific client attributes, such as when
     
    10831083   An HTTP message can either be a request from client to server or a
    10841084   response from server to client.  Syntactically, the two types of message
    1085    differ only in the start-line, which is either a Request-Line (for requests)
    1086    or a Status-Line (for responses), and in the algorithm for determining
     1085   differ only in the start-line, which is either a request-line (for requests)
     1086   or a status-line (for responses), and in the algorithm for determining
    10871087   the length of the message body (<xref target="message.body"/>).
    10881088   In theory, a client could receive requests and a server could receive
     
    10931093</t>
    10941094<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="start-line"/>
    1095   <x:ref>start-line</x:ref>      = <x:ref>Request-Line</x:ref> / <x:ref>Status-Line</x:ref>
     1095  <x:ref>start-line</x:ref>      = <x:ref>request-line</x:ref> / <x:ref>status-line</x:ref>
    10961096</artwork></figure>
    10971097<t>
     
    11081108</t>
    11091109
    1110 <section title="Request-Line" anchor="request.line">
     1110<section title="Request Line" anchor="request.line">
    11111111  <x:anchor-alias value="Request"/>
    1112   <x:anchor-alias value="Request-Line"/>
    1113 <t>
    1114    The Request-Line begins with a method token, followed by a single
     1112  <x:anchor-alias value="request-line"/>
     1113<t>
     1114   A request-line begins with a method token, followed by a single
    11151115   space (SP), the request-target, another single space (SP), the
    11161116   protocol version, and ending with CRLF.
    11171117</t>
    1118 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request-Line"/>
    1119   <x:ref>Request-Line</x:ref>   = <x:ref>Method</x:ref> <x:ref>SP</x:ref> <x:ref>request-target</x:ref> <x:ref>SP</x:ref> <x:ref>HTTP-Version</x:ref> <x:ref>CRLF</x:ref>
     1118<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="request-line"/>
     1119  <x:ref>request-line</x:ref>   = <x:ref>method</x:ref> <x:ref>SP</x:ref> <x:ref>request-target</x:ref> <x:ref>SP</x:ref> <x:ref>HTTP-version</x:ref> <x:ref>CRLF</x:ref>
    11201120</artwork></figure>
    11211121
    11221122<section title="Method" anchor="method">
    1123   <x:anchor-alias value="Method"/>
    1124 <t>
    1125    The Method token indicates the request method to be performed on the
     1123  <x:anchor-alias value="method"/>
     1124<t>
     1125   The method token indicates the request method to be performed on the
    11261126   target resource. The request method is case-sensitive.
    11271127</t>
    1128 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/>
    1129   <x:ref>Method</x:ref>         = <x:ref>token</x:ref>
     1128<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="method"/>
     1129  <x:ref>method</x:ref>         = <x:ref>token</x:ref>
    11301130</artwork></figure>
    11311131<t>
    1132    See &method; for further information, such as the list of methods defined
    1133    by this specification, the IANA registry, and considerations for new methods.
     1132   The methods defined by this specification can be found in
     1133   &method;, along with information regarding the HTTP method registry
     1134   and considerations for defining new methods.
    11341135</t>
    11351136</section>
     
    11701171</section>
    11711172
    1172 <section title="Response Status-Line" anchor="status.line">
    1173   <x:anchor-alias value="Response"/>
    1174   <x:anchor-alias value="Status-Line"/>
    1175 <t>
    1176    The first line of a Response message is the Status-Line, consisting
     1173<section title="Response Status Line" anchor="status.line">
     1174  <x:anchor-alias value="response"/>
     1175  <x:anchor-alias value="status-line"/>
     1176<t>
     1177   The first line of a response message is the status-line, consisting
    11771178   of the protocol version, a space (SP), the status code, another space,
    11781179   a possibly-empty textual phrase describing the status code, and
    11791180   ending with CRLF.
    11801181</t>
    1181 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Status-Line"/>
    1182   <x:ref>Status-Line</x:ref> = <x:ref>HTTP-Version</x:ref> <x:ref>SP</x:ref> <x:ref>Status-Code</x:ref> <x:ref>SP</x:ref> <x:ref>Reason-Phrase</x:ref> <x:ref>CRLF</x:ref>
     1182<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="status-line"/>
     1183  <x:ref>status-line</x:ref> = <x:ref>HTTP-version</x:ref> <x:ref>SP</x:ref> <x:ref>status-code</x:ref> <x:ref>SP</x:ref> <x:ref>reason-phrase</x:ref> <x:ref>CRLF</x:ref>
    11831184</artwork></figure>
    11841185
    11851186<section title="Status Code" anchor="status.code">
    1186   <x:anchor-alias value="Status-Code"/>
    1187 <t>
    1188    The Status-Code element is a 3-digit integer result code of the attempt to
     1187  <x:anchor-alias value="status-code"/>
     1188<t>
     1189   The status-code element is a 3-digit integer result code of the attempt to
    11891190   understand and satisfy the request. See &status-code-reasonphr; for
    11901191   further information, such as the list of status codes defined by this
    11911192   specification, the IANA registry, and considerations for new status codes.
    11921193</t>
    1193 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Status-Code"/>
    1194   <x:ref>Status-Code</x:ref>    = 3<x:ref>DIGIT</x:ref>
     1194<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="status-code"/>
     1195  <x:ref>status-code</x:ref>    = 3<x:ref>DIGIT</x:ref>
    11951196</artwork></figure>
    11961197</section>
    11971198
    11981199<section title="Reason Phrase" anchor="reason.phrase">
    1199   <x:anchor-alias value="Reason-Phrase"/>
     1200  <x:anchor-alias value="reason-phrase"/>
    12001201<t>   
    12011202   The Reason Phrase exists for the sole purpose of providing a textual
     
    12051206   Phrase.
    12061207</t>
    1207 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Reason-Phrase"/>
    1208   <x:ref>Reason-Phrase</x:ref>  = *( <x:ref>HTAB</x:ref> / <x:ref>SP</x:ref> / <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref> )
     1208<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="reason-phrase"/>
     1209  <x:ref>reason-phrase</x:ref>  = *( <x:ref>HTAB</x:ref> / <x:ref>SP</x:ref> / <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref> )
    12091210</artwork></figure>
    12101211</section>
     
    18931894<t>
    18941895   In the interest of robustness, servers &SHOULD; ignore at least one
    1895    empty line received where a Request-Line is expected. In other words, if
     1896   empty line received where a request-line is expected. In other words, if
    18961897   the server is reading the protocol stream at the beginning of a
    18971898   message and receives a CRLF first, it &SHOULD; ignore the CRLF.
     
    19681969   proxies &MUST; be able to recognize and exclude all of its own server
    19691970   names, including any aliases, local variations, or literal IP addresses.
    1970    An example Request-Line would be:
     1971   An example request-line would be:
    19711972</t>
    19721973<figure><artwork type="message/http; msgtype=&#34;request&#34;" x:indent-with="  ">
     
    21012102    </t>
    21022103    <t>
    2103       the request-target obtained from the Request-Line, unless the
     2104      the request-target obtained from the request-line, unless the
    21042105      request-target is just the asterisk "*".
    21052106    </t>
     
    22102211  <iref item="Coding Format" subitem="chunked"/>
    22112212  <x:anchor-alias value="chunk"/>
    2212   <x:anchor-alias value="Chunked-Body"/>
     2213  <x:anchor-alias value="chunked-body"/>
    22132214  <x:anchor-alias value="chunk-data"/>
    22142215  <x:anchor-alias value="chunk-ext"/>
     
    22282229   received the full message.
    22292230</t>
    2230 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Chunked-Body"/><iref primary="true" item="Grammar" subitem="chunk"/><iref primary="true" item="Grammar" subitem="chunk-size"/><iref primary="true" item="Grammar" subitem="last-chunk"/><iref primary="true" item="Grammar" subitem="chunk-ext"/><iref primary="true" item="Grammar" subitem="chunk-ext-name"/><iref primary="true" item="Grammar" subitem="chunk-ext-val"/><iref primary="true" item="Grammar" subitem="chunk-data"/><iref primary="true" item="Grammar" subitem="trailer-part"/><iref primary="true" item="Grammar" subitem="quoted-str-nf"/><iref primary="true" item="Grammar" subitem="qdtext-nf"/>
    2231   <x:ref>Chunked-Body</x:ref>   = *<x:ref>chunk</x:ref>
     2231<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="chunked-body"/><iref primary="true" item="Grammar" subitem="chunk"/><iref primary="true" item="Grammar" subitem="chunk-size"/><iref primary="true" item="Grammar" subitem="last-chunk"/><iref primary="true" item="Grammar" subitem="chunk-ext"/><iref primary="true" item="Grammar" subitem="chunk-ext-name"/><iref primary="true" item="Grammar" subitem="chunk-ext-val"/><iref primary="true" item="Grammar" subitem="chunk-data"/><iref primary="true" item="Grammar" subitem="trailer-part"/><iref primary="true" item="Grammar" subitem="quoted-str-nf"/><iref primary="true" item="Grammar" subitem="qdtext-nf"/>
     2232  <x:ref>chunked-body</x:ref>   = *<x:ref>chunk</x:ref>
    22322233                   <x:ref>last-chunk</x:ref>
    22332234                   <x:ref>trailer-part</x:ref>
     
    31783179   for multiple host names on a single IP address.  Since the Host
    31793180   field-value is critical information for handling a request, it
    3180    &SHOULD; be sent as the first header field following the Request-Line.
     3181   &SHOULD; be sent as the first header field following the request-line.
    31813182</t>
    31823183<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Host"/>
     
    35713572      <list style="hanging">
    35723573        <t hangText="version:">
    3573           The HTTP-Version number of the enclosed message
     3574          The HTTP-version number of the enclosed message
    35743575          (e.g., "1.1"). If not present, the version can be
    35753576          determined from the first line of the body.
     
    36403641      <list style="hanging">
    36413642        <t hangText="version:">
    3642           The HTTP-Version number of the enclosed messages
     3643          The HTTP-version number of the enclosed messages
    36433644          (e.g., "1.1"). If not present, the version can be
    36443645          determined from the first line of the body.
     
    49674968</t>
    49684969<t>
    4969   Clarify that the string "HTTP" in the HTTP-Version ABFN production is case
     4970  Clarify that the string "HTTP" in the HTTP-version ABFN production is case
    49704971  sensitive. Restrict the version numbers to be single digits due to the fact
    49714972  that implementations are known to handle multi-digit version numbers
     
    50395040<x:ref>BWS</x:ref> = OWS
    50405041
    5041 <x:ref>Chunked-Body</x:ref> = *chunk last-chunk trailer-part CRLF
    50425042<x:ref>Connection</x:ref> = *( "," OWS ) connection-token *( OWS "," [ OWS
    50435043 connection-token ] )
    50445044<x:ref>Content-Length</x:ref> = 1*DIGIT
    50455045
    5046 <x:ref>HTTP-Prot-Name</x:ref> = %x48.54.54.50 ; HTTP
    5047 <x:ref>HTTP-Version</x:ref> = HTTP-Prot-Name "/" DIGIT "." DIGIT
    50485046<x:ref>HTTP-message</x:ref> = start-line *( header-field CRLF ) CRLF [ message-body
    50495047 ]
     5048<x:ref>HTTP-name</x:ref> = %x48.54.54.50 ; HTTP
     5049<x:ref>HTTP-version</x:ref> = HTTP-name "/" DIGIT "." DIGIT
    50505050<x:ref>Host</x:ref> = uri-host [ ":" port ]
    50515051
    5052 <x:ref>Method</x:ref> = token
    5053 
    50545052<x:ref>OWS</x:ref> = *( SP / HTAB )
    50555053
    50565054<x:ref>RWS</x:ref> = 1*( SP / HTAB )
    5057 <x:ref>Reason-Phrase</x:ref> = *( HTAB / SP / VCHAR / obs-text )
    5058 <x:ref>Request-Line</x:ref> = Method SP request-target SP HTTP-Version CRLF
    5059 
    5060 <x:ref>Status-Code</x:ref> = 3DIGIT
    5061 <x:ref>Status-Line</x:ref> = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    50625055
    50635056<x:ref>TE</x:ref> = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ]
     
    50835076<x:ref>chunk-ext-val</x:ref> = token / quoted-str-nf
    50845077<x:ref>chunk-size</x:ref> = 1*HEXDIG
     5078<x:ref>chunked-body</x:ref> = *chunk last-chunk trailer-part CRLF
    50855079<x:ref>comment</x:ref> = "(" *( ctext / quoted-cpair / comment ) ")"
    50865080<x:ref>connection-token</x:ref> = token
     
    51015095
    51025096<x:ref>message-body</x:ref> = *OCTET
     5097<x:ref>method</x:ref> = token
    51035098
    51045099<x:ref>obs-fold</x:ref> = CRLF ( SP / HTAB )
     
    51275122<x:ref>qvalue</x:ref> = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
    51285123
     5124<x:ref>reason-phrase</x:ref> = *( HTAB / SP / VCHAR / obs-text )
    51295125<x:ref>received-by</x:ref> = ( uri-host [ ":" port ] ) / pseudonym
    51305126<x:ref>received-protocol</x:ref> = [ protocol-name "/" ] protocol-version
    51315127<x:ref>relative-part</x:ref> = &lt;relative-part, defined in [RFC3986], Section 4.2&gt;
     5128<x:ref>request-line</x:ref> = method SP request-target SP HTTP-version CRLF
    51325129<x:ref>request-target</x:ref> = "*" / absolute-URI / ( path-absolute [ "?" query ] )
    51335130 / authority
     
    51355132<x:ref>special</x:ref> = "(" / ")" / "&lt;" / "&gt;" / "@" / "," / ";" / ":" / "\" /
    51365133 DQUOTE / "/" / "[" / "]" / "?" / "=" / "{" / "}"
    5137 <x:ref>start-line</x:ref> = Request-Line / Status-Line
     5134<x:ref>start-line</x:ref> = request-line / status-line
     5135<x:ref>status-code</x:ref> = 3DIGIT
     5136<x:ref>status-line</x:ref> = HTTP-version SP status-code SP reason-phrase CRLF
    51385137
    51395138<x:ref>t-codings</x:ref> = "trailers" / ( transfer-extension [ te-params ] )
     
    51575156</figure>
    51585157<figure><preamble>ABNF diagnostics:</preamble><artwork type="inline">
    5159 ; Chunked-Body defined but not used
    51605158; Connection defined but not used
    51615159; Content-Length defined but not used
     
    51685166; Upgrade defined but not used
    51695167; Via defined but not used
     5168; chunked-body defined but not used
    51705169; http-URI defined but not used
    51715170; https-URI defined but not used
     
    53765375  <list style="symbols">
    53775376    <t>
    5378       Replace string literals when the string really is case-sensitive (HTTP-Version).
     5377      Replace string literals when the string really is case-sensitive (HTTP-version).
    53795378    </t>
    53805379  </list>
     
    54935492    <t>
    54945493      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/94"/>:
    5495       "Reason-Phrase BNF"
     5494      "reason-phrase BNF"
    54965495    </t>
    54975496    <t>
     
    58245823    <t>
    58255824      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/273"/>:
    5826       "HTTP-Version should be redefined as fixed length pair of DIGIT . DIGIT"
     5825      "HTTP-version should be redefined as fixed length pair of DIGIT . DIGIT"
    58275826    </t>
    58285827    <t>
  • draft-ietf-httpbis/latest/p2-semantics.html

    r1555 r1557  
    868868  <a href="#abnf.dependencies" class="smpl">URI-reference</a> = &lt;URI-reference, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>&gt;
    869869</pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a>&nbsp;<a id="method" href="#method">Method</a></h1>
    870       <p id="rfc.section.2.p.1">The Method token indicates the request method to be performed on the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). The method is case-sensitive.
    871       </p>
    872       <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  <a href="#method" class="smpl">Method</a>         = <a href="#core.rules" class="smpl">token</a>
     870      <p id="rfc.section.2.p.1">The method token indicates the request method to be performed on the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). The method is case-sensitive.
     871      </p>
     872      <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.1"></span>  <a href="#method" class="smpl">method</a>         = <a href="#core.rules" class="smpl">token</a>
    873873</pre><p id="rfc.section.2.p.3">The list of methods allowed by a resource can be specified in an Allow header field (<a href="#header.allow" id="rfc.xref.header.allow.1" title="Allow">Section&nbsp;10.1</a>). The status code of the response always notifies the client whether a method is currently allowed on a resource, since the
    874874         set of allowed methods can change dynamically. An origin server <em class="bcp14">SHOULD</em> respond with the status code 405 (Method Not Allowed) if the method is known by the origin server but not allowed for the
     
    925925      <p id="rfc.section.2.1.p.2">Note that this list is not exhaustive — it does not include request methods defined in other specifications.</p>
    926926      <h2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a>&nbsp;<a id="method.registry" href="#method.registry">Method Registry</a></h2>
    927       <p id="rfc.section.2.2.p.1">The HTTP Method Registry defines the name space for the Method token in the Request line of an HTTP request.</p>
     927      <p id="rfc.section.2.2.p.1">The HTTP Method Registry defines the name space for the method token in the Request line of an HTTP request.</p>
    928928      <p id="rfc.section.2.2.p.2">Registrations <em class="bcp14">MUST</em> include the following fields:
    929929      </p>
     
    11161116      <h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a>&nbsp;<a id="response.header.fields" href="#response.header.fields">Response Header Fields</a></h2>
    11171117      <p id="rfc.section.3.3.p.1">The response header fields allow the server to pass additional information about the response which cannot be placed in the
    1118          Status-Line. These header fields give information about the server and about further access to the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).
     1118         status-line. These header fields give information about the server and about further access to the target resource (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).
    11191119      </p>
    11201120      <div id="rfc.table.u.3">
     
    11751175      </div>
    11761176      <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a>&nbsp;<a id="status.code.and.reason.phrase" href="#status.code.and.reason.phrase">Status Code and Reason Phrase</a></h1>
    1177       <p id="rfc.section.4.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request.</p>
    1178       <p id="rfc.section.4.p.2">The Reason-Phrase is intended to give a short textual description of the Status-Code and is intended for a human user. The
    1179          client does not need to examine or display the Reason-Phrase.
    1180       </p>
    1181       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span>  <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a>    = 3<a href="#notation" class="smpl">DIGIT</a>
    1182   <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a>  = *( <a href="#notation" class="smpl">HTAB</a> / <a href="#notation" class="smpl">SP</a> / <a href="#notation" class="smpl">VCHAR</a> / <a href="#core.rules" class="smpl">obs-text</a> )
     1177      <p id="rfc.section.4.p.1">The status-code element is a 3-digit integer result code of the attempt to understand and satisfy the request.</p>
     1178      <p id="rfc.section.4.p.2">The reason-phrase is intended to give a short textual description of the status-code and is intended for a human user. The
     1179         client does not need to examine or display the reason-phrase.
     1180      </p>
     1181      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span>  <a href="#status.code.and.reason.phrase" class="smpl">status-code</a>    = 3<a href="#notation" class="smpl">DIGIT</a>
     1182  <a href="#status.code.and.reason.phrase" class="smpl">reason-phrase</a>  = *( <a href="#notation" class="smpl">HTAB</a> / <a href="#notation" class="smpl">SP</a> / <a href="#notation" class="smpl">VCHAR</a> / <a href="#core.rules" class="smpl">obs-text</a> )
    11831183</pre><p id="rfc.section.4.p.4">HTTP status codes are extensible. HTTP applications are not required to understand the meaning of all registered status codes,
    11841184         though such understanding is obviously desirable. However, applications <em class="bcp14">MUST</em> understand the class of any status code, as indicated by the first digit, and treat any unrecognized response as being equivalent
     
    11951195            <thead>
    11961196               <tr>
    1197                   <th>Status-Code</th>
    1198                   <th>Reason-Phrase</th>
     1197                  <th>status-code</th>
     1198                  <th>reason-phrase</th>
    11991199                  <th>Defined in...</th>
    12001200               </tr>
     
    14111411      <p id="rfc.section.4.1.p.2">Note that this list is not exhaustive — it does not include extension status codes defined in other specifications.</p>
    14121412      <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;<a id="status.code.registry" href="#status.code.registry">Status Code Registry</a></h2>
    1413       <p id="rfc.section.4.2.p.1">The HTTP Status Code Registry defines the name space for the Status-Code token in the Status-Line of an HTTP response.</p>
     1413      <p id="rfc.section.4.2.p.1">The HTTP Status Code Registry defines the name space for the status-code token in the status-line of an HTTP response.</p>
    14141414      <p id="rfc.section.4.2.p.2">Values to be added to this name space are subject to IETF review (<a href="#RFC5226" id="rfc.xref.RFC5226.2"><cite title="Guidelines for Writing an IANA Considerations Section in RFCs">[RFC5226]</cite></a>, <a href="http://tools.ietf.org/html/rfc5226#section-4.1">Section 4.1</a>).
    14151415      </p>
     
    17131713      </p>
    17141714      <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a>&nbsp;<a id="status.codes" href="#status.codes">Status Code Definitions</a></h1>
    1715       <p id="rfc.section.7.p.1">The first digit of the Status-Code defines the class of response. The last two digits do not have any categorization role.
     1715      <p id="rfc.section.7.p.1">The first digit of the status-code defines the class of response. The last two digits do not have any categorization role.
    17161716         There are 5 values for the first digit:
    17171717      </p>
     
    17231723         <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li>
    17241724      </ul>
    1725       <p id="rfc.section.7.p.2">Each Status-Code is described below, including any metadata required in the response.</p>
     1725      <p id="rfc.section.7.p.2">Each status-code is described below, including any metadata required in the response.</p>
    17261726      <p id="rfc.section.7.p.3">For most status codes the response can carry a payload, in which case a Content-Type header field indicates the payload's
    17271727         media type (<a href="p3-payload.html#header.content-type" title="Content-Type">Section 6.8</a> of <a href="#Part3" id="rfc.xref.Part3.9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>).
    17281728      </p>
    17291729      <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a>&nbsp;<a id="status.1xx" href="#status.1xx">Informational 1xx</a></h2>
    1730       <p id="rfc.section.7.1.p.1">This class of status code indicates a provisional response, consisting only of the Status-Line and optional header fields,
     1730      <p id="rfc.section.7.1.p.1">This class of status code indicates a provisional response, consisting only of the status-line and optional header fields,
    17311731         and is terminated by an empty line. There are no required header fields for this class of status code. Since HTTP/1.0 did
    17321732         not define any 1xx status codes, servers <em class="bcp14">MUST NOT</em> send a 1xx response to an HTTP/1.0 client except under experimental conditions.
     
    20062006      <div id="rfc.iref.s.21"></div>
    20072007      <h3 id="rfc.section.7.4.5"><a href="#rfc.section.7.4.5">7.4.5</a>&nbsp;<a id="status.405" href="#status.405">405 Method Not Allowed</a></h3>
    2008       <p id="rfc.section.7.4.5.p.1">The method specified in the Request-Line is not allowed for the target resource. The response <em class="bcp14">MUST</em> include an Allow header field containing a list of valid methods for the requested resource.
     2008      <p id="rfc.section.7.4.5.p.1">The method specified in the request-line is not allowed for the target resource. The response <em class="bcp14">MUST</em> include an Allow header field containing a list of valid methods for the requested resource.
    20092009      </p>
    20102010      <div id="rfc.iref.42"></div>
     
    22662266         is strictly to inform the recipient of valid request methods associated with the resource.
    22672267      </p>
    2268       <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.24"></span>  <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method" class="smpl">Method</a>
     2268      <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.24"></span>  <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method" class="smpl">method</a>
    22692269</pre><p id="rfc.section.10.1.p.3">Example of use:</p>
    22702270      <div id="rfc.figure.u.19"></div><pre class="text">  Allow: GET, HEAD, PUT
     
    30943094      </p>
    30953095      <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    3096       <div id="rfc.figure.u.38"></div> <pre class="inline"><a href="#header.allow" class="smpl">Allow</a> = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ]
     3096      <div id="rfc.figure.u.38"></div> <pre class="inline"><a href="#header.allow" class="smpl">Allow</a> = [ ( "," / method ) *( OWS "," [ OWS method ] ) ]
    30973097
    30983098<a href="#core.rules" class="smpl">BWS</a> = &lt;BWS, defined in [Part1], Section 3.2.1&gt;
     
    31113111
    31123112<a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*DIGIT
    3113 <a href="#method" class="smpl">Method</a> = token
    31143113
    31153114<a href="#core.rules" class="smpl">OWS</a> = &lt;OWS, defined in [Part1], Section 3.2.1&gt;
    31163115
    31173116<a href="#core.rules" class="smpl">RWS</a> = &lt;RWS, defined in [Part1], Section 3.2.1&gt;
    3118 <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> = *( HTAB / SP / VCHAR / obs-text )
    31193117<a href="#header.referer" class="smpl">Referer</a> = absolute-URI / partial-URI
    31203118<a href="#header.retry-after" class="smpl">Retry-After</a> = HTTP-date / delta-seconds
    31213119
    31223120<a href="#header.server" class="smpl">Server</a> = product *( RWS ( product / comment ) )
    3123 <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3DIGIT
    31243121
    31253122<a href="#abnf.dependencies" class="smpl">URI-reference</a> = &lt;URI-reference, defined in [Part1], Section 2.7&gt;
     
    31603157
    31613158<a href="#header.from" class="smpl">mailbox</a> = &lt;mailbox, defined in [RFC5322], Section 3.4&gt;
     3159<a href="#method" class="smpl">method</a> = token
    31623160<a href="#preferred.date.format" class="smpl">minute</a> = 2DIGIT
    31633161<a href="#preferred.date.format" class="smpl">month</a> = %x4A.61.6E ; Jan
     
    31833181<a href="#core.rules" class="smpl">quoted-string</a> = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;
    31843182
     3183<a href="#status.code.and.reason.phrase" class="smpl">reason-phrase</a> = *( HTAB / SP / VCHAR / obs-text )
    31853184<a href="#preferred.date.format" class="smpl">rfc1123-date</a> = day-name "," SP date1 SP time-of-day SP GMT
    31863185<a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = day-name-l "," SP date2 SP time-of-day SP GMT
    31873186
    31883187<a href="#preferred.date.format" class="smpl">second</a> = 2DIGIT
     3188<a href="#status.code.and.reason.phrase" class="smpl">status-code</a> = 3DIGIT
    31893189
    31903190<a href="#preferred.date.format" class="smpl">time-of-day</a> = hour ":" minute ":" second
     
    31993199; Location defined but not used
    32003200; Max-Forwards defined but not used
    3201 ; Reason-Phrase defined but not used
    32023201; Referer defined but not used
    32033202; Retry-After defined but not used
    32043203; Server defined but not used
    3205 ; Status-Code defined but not used
    32063204; User-Agent defined but not used
     3205; reason-phrase defined but not used
     3206; status-code defined but not used
    32073207</pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>
    32083208      <h2 id="rfc.section.C.1"><a href="#rfc.section.C.1">C.1</a>&nbsp;Since RFC 2616
     
    33133313      <p id="rfc.section.C.7.p.1">Closed issues: </p>
    33143314      <ul>
    3315          <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>&gt;: "Reason-Phrase BNF"
     3315         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>&gt;: "reason-phrase BNF"
    33163316         </li>
    33173317      </ul>
     
    34193419         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/112">http://tools.ietf.org/wg/httpbis/trac/ticket/112</a>&gt;: "PUT - 'store under' vs 'store at'"
    34203420         </li>
    3421          <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/137">http://tools.ietf.org/wg/httpbis/trac/ticket/137</a>&gt;: "duplicate ABNF for Reason-Phrase"
     3421         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/137">http://tools.ietf.org/wg/httpbis/trac/ticket/137</a>&gt;: "duplicate ABNF for reason-phrase"
    34223422         </li>
    34233423         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/180">http://tools.ietf.org/wg/httpbis/trac/ticket/180</a>&gt;: "Note special status of Content-* prefix in header registration procedures"
     
    36233623                        <li><tt>Location</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.32"><b>10.5</b></a></li>
    36243624                        <li><tt>Max-Forwards</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.33"><b>10.6</b></a></li>
    3625                         <li><tt>Method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>2</b></a></li>
     3625                        <li><tt>method</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>2</b></a></li>
    36263626                        <li><tt>minute</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>8</b></a></li>
    36273627                        <li><tt>month</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>8</b></a></li>
     
    36293629                        <li><tt>product</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>9</b></a></li>
    36303630                        <li><tt>product-version</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>9</b></a></li>
    3631                         <li><tt>Reason-Phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>4</b></a></li>
     3631                        <li><tt>reason-phrase</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>4</b></a></li>
    36323632                        <li><tt>Referer</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.34"><b>10.7</b></a></li>
    36333633                        <li><tt>Retry-After</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.35"><b>10.8</b></a></li>
     
    36363636                        <li><tt>second</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>8</b></a></li>
    36373637                        <li><tt>Server</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.37"><b>10.9</b></a></li>
    3638                         <li><tt>Status-Code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>4</b></a></li>
     3638                        <li><tt>status-code</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>4</b></a></li>
    36393639                        <li><tt>time-of-day</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>8</b></a></li>
    36403640                        <li><tt>User-Agent</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.38"><b>10.10</b></a></li>
     
    36723672            <li><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul>
    36733673                  <li>Max-Forwards header field&nbsp;&nbsp;<a href="#rfc.xref.header.max-forwards.1">3.2</a>, <a href="#rfc.xref.header.max-forwards.2">6.2</a>, <a href="#rfc.xref.header.max-forwards.3">6.8</a>, <a href="#rfc.iref.m.9"><b>10.6</b></a>, <a href="#rfc.xref.header.max-forwards.4">11.3</a>, <a href="#rfc.xref.header.max-forwards.5">A</a></li>
    3674                   <li>Methods&nbsp;&nbsp;
     3674                  <li>methods&nbsp;&nbsp;
    36753675                     <ul>
    36763676                        <li>CONNECT&nbsp;&nbsp;<a href="#rfc.xref.CONNECT.1">2.1</a>, <a href="#rfc.iref.m.8"><b>6.9</b></a>, <a href="#rfc.xref.CONNECT.2">11.1</a>, <a href="#rfc.xref.CONNECT.3">A</a></li>
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r1554 r1557  
    401401
    402402<section title="Method" anchor="method">
    403   <x:anchor-alias value="Method"/>
     403  <x:anchor-alias value="method"/>
    404404  <x:anchor-alias value="extension-method"/>
    405405<t>
    406    The Method token indicates the request method to be performed on the target
     406   The method token indicates the request method to be performed on the target
    407407   resource (&effective-request-uri;). The method is case-sensitive.
    408408</t>
    409 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/>
    410   <x:ref>Method</x:ref>         = <x:ref>token</x:ref>
     409<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="method"/>
     410  <x:ref>method</x:ref>         = <x:ref>token</x:ref>
    411411</artwork></figure>
    412412<t>
     
    449449<section title="Method Registry" anchor="method.registry">
    450450<t>
    451   The HTTP Method Registry defines the name space for the Method token in the
     451  The HTTP Method Registry defines the name space for the method token in the
    452452  Request line of an HTTP request.
    453453</t>
     
    630630<t>
    631631   The response header fields allow the server to pass additional
    632    information about the response which cannot be placed in the Status-Line.
     632   information about the response which cannot be placed in the status-line.
    633633   These header fields give information about the server and about
    634634   further access to the target resource (&effective-request-uri;).
     
    654654
    655655<section title="Status Code and Reason Phrase" anchor="status.code.and.reason.phrase">
    656   <x:anchor-alias value="Reason-Phrase"/>
    657   <x:anchor-alias value="Status-Code"/>
     656  <x:anchor-alias value="reason-phrase"/>
     657  <x:anchor-alias value="status-code"/>
    658658  <x:anchor-alias value="extension-code"/>
    659659<t>
    660    The Status-Code element is a 3-digit integer result code of the attempt to
     660   The status-code element is a 3-digit integer result code of the attempt to
    661661   understand and satisfy the request.
    662662</t>
    663663<t>
    664    The Reason-Phrase is intended to give a short textual description of the
    665    Status-Code and is intended for a human user. The client does not need
    666    to examine or display the Reason-Phrase.
    667 </t>
    668 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Status-Code"/><iref primary="true" item="Grammar" subitem="extension-code"/><iref primary="true" item="Grammar" subitem="Reason-Phrase"/>
    669   <x:ref>Status-Code</x:ref>    = 3<x:ref>DIGIT</x:ref>
    670   <x:ref>Reason-Phrase</x:ref>  = *( <x:ref>HTAB</x:ref> / <x:ref>SP</x:ref> / <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref> )
     664   The reason-phrase is intended to give a short textual description of the
     665   status-code and is intended for a human user. The client does not need
     666   to examine or display the reason-phrase.
     667</t>
     668<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="status-code"/><iref primary="true" item="Grammar" subitem="extension-code"/><iref primary="true" item="Grammar" subitem="reason-phrase"/>
     669  <x:ref>status-code</x:ref>    = 3<x:ref>DIGIT</x:ref>
     670  <x:ref>reason-phrase</x:ref>  = *( <x:ref>HTAB</x:ref> / <x:ref>SP</x:ref> / <x:ref>VCHAR</x:ref> / <x:ref>obs-text</x:ref> )
    671671</artwork></figure>
    672672<t>
     
    694694</t>
    695695<texttable align="left">
    696   <ttcol>Status-Code</ttcol>
    697   <ttcol>Reason-Phrase</ttcol>
     696  <ttcol>status-code</ttcol>
     697  <ttcol>reason-phrase</ttcol>
    698698  <ttcol>Defined in...</ttcol>
    699699 
     
    752752<section title="Status Code Registry" anchor="status.code.registry">
    753753<t>
    754   The HTTP Status Code Registry defines the name space for the Status-Code
    755   token in the Status-Line of an HTTP response.
     754  The HTTP Status Code Registry defines the name space for the status-code
     755  token in the status-line of an HTTP response.
    756756</t>
    757757<t>
     
    917917  </rdf:Description>
    918918  <iref primary="true" item="OPTIONS method" x:for-anchor=""/>
    919   <iref primary="true" item="Methods" subitem="OPTIONS" x:for-anchor=""/>
     919  <iref primary="true" item="methods" subitem="OPTIONS" x:for-anchor=""/>
    920920<t>
    921921   The OPTIONS method requests information about the
     
    976976  </rdf:Description>
    977977  <iref primary="true" item="GET method" x:for-anchor=""/>
    978   <iref primary="true" item="Methods" subitem="GET" x:for-anchor=""/>
     978  <iref primary="true" item="methods" subitem="GET" x:for-anchor=""/>
    979979<t>
    980980   The GET method requests transfer of a current representation of
     
    10241024  </rdf:Description>
    10251025  <iref primary="true" item="HEAD method" x:for-anchor=""/>
    1026   <iref primary="true" item="Methods" subitem="HEAD" x:for-anchor=""/>
     1026  <iref primary="true" item="methods" subitem="HEAD" x:for-anchor=""/>
    10271027<t>
    10281028   The HEAD method is identical to GET except that the server &MUST-NOT;
     
    10491049<section title="POST" anchor="POST">
    10501050  <iref primary="true" item="POST method" x:for-anchor=""/>
    1051   <iref primary="true" item="Methods" subitem="POST" x:for-anchor=""/>
     1051  <iref primary="true" item="methods" subitem="POST" x:for-anchor=""/>
    10521052<t>
    10531053   The POST method requests that the origin server accept the
     
    11051105<section title="PUT" anchor="PUT">
    11061106  <iref primary="true" item="PUT method" x:for-anchor=""/>
    1107   <iref primary="true" item="Methods" subitem="PUT" x:for-anchor=""/>
     1107  <iref primary="true" item="methods" subitem="PUT" x:for-anchor=""/>
    11081108<t>
    11091109   The PUT method requests that the state of the target resource
     
    12271227<section title="DELETE" anchor="DELETE">
    12281228  <iref primary="true" item="DELETE method" x:for-anchor=""/>
    1229   <iref primary="true" item="Methods" subitem="DELETE" x:for-anchor=""/>
     1229  <iref primary="true" item="methods" subitem="DELETE" x:for-anchor=""/>
    12301230<t>
    12311231   The DELETE method requests that the origin server delete the target
     
    12631263  </rdf:Description>
    12641264  <iref primary="true" item="TRACE method" x:for-anchor=""/>
    1265   <iref primary="true" item="Methods" subitem="TRACE" x:for-anchor=""/>
     1265  <iref primary="true" item="methods" subitem="TRACE" x:for-anchor=""/>
    12661266<t>
    12671267   The TRACE method requests a remote, application-layer loop-back
     
    12921292<section title="CONNECT" anchor="CONNECT">
    12931293  <iref primary="true" item="CONNECT method" x:for-anchor=""/>
    1294   <iref primary="true" item="Methods" subitem="CONNECT" x:for-anchor=""/>
     1294  <iref primary="true" item="methods" subitem="CONNECT" x:for-anchor=""/>
    12951295<t>
    12961296   The CONNECT method requests that the proxy establish a tunnel
     
    13721372<section title="Status Code Definitions" anchor="status.codes">
    13731373<t>
    1374    The first digit of the Status-Code defines the class of response. The
     1374   The first digit of the status-code defines the class of response. The
    13751375   last two digits do not have any categorization role. There are 5
    13761376   values for the first digit:
     
    13981398</t>
    13991399<t>
    1400    Each Status-Code is described below, including any metadata required
     1400   Each status-code is described below, including any metadata required
    14011401   in the response.
    14021402</t>
     
    14101410<t>
    14111411   This class of status code indicates a provisional response,
    1412    consisting only of the Status-Line and optional header fields, and is
     1412   consisting only of the status-line and optional header fields, and is
    14131413   terminated by an empty line. There are no required header fields for this
    14141414   class of status code. Since HTTP/1.0 did not define any 1xx status
     
    19371937  <iref primary="true" item="Status Codes" subitem="405 Method Not Allowed" x:for-anchor=""/>
    19381938<t>
    1939    The method specified in the Request-Line is not allowed for the target
     1939   The method specified in the request-line is not allowed for the target
    19401940   resource. The response &MUST; include an Allow header field containing a
    19411941   list of valid methods for the requested resource.
     
    24252425</t>
    24262426<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Allow"/>
    2427   <x:ref>Allow</x:ref> = #<x:ref>Method</x:ref>
     2427  <x:ref>Allow</x:ref> = #<x:ref>method</x:ref>
    24282428</artwork></figure>
    24292429<t>
     
    39863986<figure>
    39873987<artwork type="abnf" name="p2-semantics.parsed-abnf">
    3988 <x:ref>Allow</x:ref> = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ]
     3988<x:ref>Allow</x:ref> = [ ( "," / method ) *( OWS "," [ OWS method ] ) ]
    39893989
    39903990<x:ref>BWS</x:ref> = &lt;BWS, defined in [Part1], Section 3.2.1&gt;
     
    40034003
    40044004<x:ref>Max-Forwards</x:ref> = 1*DIGIT
    4005 <x:ref>Method</x:ref> = token
    40064005
    40074006<x:ref>OWS</x:ref> = &lt;OWS, defined in [Part1], Section 3.2.1&gt;
    40084007
    40094008<x:ref>RWS</x:ref> = &lt;RWS, defined in [Part1], Section 3.2.1&gt;
    4010 <x:ref>Reason-Phrase</x:ref> = *( HTAB / SP / VCHAR / obs-text )
    40114009<x:ref>Referer</x:ref> = absolute-URI / partial-URI
    40124010<x:ref>Retry-After</x:ref> = HTTP-date / delta-seconds
    40134011
    40144012<x:ref>Server</x:ref> = product *( RWS ( product / comment ) )
    4015 <x:ref>Status-Code</x:ref> = 3DIGIT
    40164013
    40174014<x:ref>URI-reference</x:ref> = &lt;URI-reference, defined in [Part1], Section 2.7&gt;
     
    40524049
    40534050<x:ref>mailbox</x:ref> = &lt;mailbox, defined in [RFC5322], Section 3.4&gt;
     4051<x:ref>method</x:ref> = token
    40544052<x:ref>minute</x:ref> = 2DIGIT
    40554053<x:ref>month</x:ref> = %x4A.61.6E ; Jan
     
    40754073<x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;
    40764074
     4075<x:ref>reason-phrase</x:ref> = *( HTAB / SP / VCHAR / obs-text )
    40774076<x:ref>rfc1123-date</x:ref> = day-name "," SP date1 SP time-of-day SP GMT
    40784077<x:ref>rfc850-date</x:ref> = day-name-l "," SP date2 SP time-of-day SP GMT
    40794078
    40804079<x:ref>second</x:ref> = 2DIGIT
     4080<x:ref>status-code</x:ref> = 3DIGIT
    40814081
    40824082<x:ref>time-of-day</x:ref> = hour ":" minute ":" second
     
    40934093; Location defined but not used
    40944094; Max-Forwards defined but not used
    4095 ; Reason-Phrase defined but not used
    40964095; Referer defined but not used
    40974096; Retry-After defined but not used
    40984097; Server defined but not used
    4099 ; Status-Code defined but not used
    41004098; User-Agent defined but not used
     4099; reason-phrase defined but not used
     4100; status-code defined but not used
    41014101</artwork></figure></section>
    41024102<?ENDINC p2-semantics.abnf-appendix ?>
     
    43134313    <t>
    43144314      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/94"/>:
    4315       "Reason-Phrase BNF"
     4315      "reason-phrase BNF"
    43164316    </t>
    43174317  </list>
     
    45224522    <t>
    45234523      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/137"/>:
    4524       "duplicate ABNF for Reason-Phrase"
     4524      "duplicate ABNF for reason-phrase"
    45254525    </t>
    45264526    <t>
Note: See TracChangeset for help on using the changeset viewer.