Changeset 1557 for draft-ietf-httpbis/latest/p2-semantics.html
- Timestamp:
- 03/03/12 23:56:54 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r1555 r1557 868 868 <a href="#abnf.dependencies" class="smpl">URI-reference</a> = <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>> 869 869 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <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> 873 873 </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 10.1</a>). The status code of the response always notifies the client whether a method is currently allowed on a resource, since the 874 874 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 … … 925 925 <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> 926 926 <h2 id="rfc.section.2.2"><a href="#rfc.section.2.2">2.2</a> <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> 928 928 <p id="rfc.section.2.2.p.2">Registrations <em class="bcp14">MUST</em> include the following fields: 929 929 </p> … … 1116 1116 <h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a id="response.header.fields" href="#response.header.fields">Response Header Fields</a></h2> 1117 1117 <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>). 1119 1119 </p> 1120 1120 <div id="rfc.table.u.3"> … … 1175 1175 </div> 1176 1176 <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <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. The1179 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> ) 1183 1183 </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, 1184 1184 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 … … 1195 1195 <thead> 1196 1196 <tr> 1197 <th> Status-Code</th>1198 <th> Reason-Phrase</th>1197 <th>status-code</th> 1198 <th>reason-phrase</th> 1199 1199 <th>Defined in...</th> 1200 1200 </tr> … … 1411 1411 <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> 1412 1412 <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <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> 1414 1414 <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>). 1415 1415 </p> … … 1713 1713 </p> 1714 1714 <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <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. 1716 1716 There are 5 values for the first digit: 1717 1717 </p> … … 1723 1723 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1724 1724 </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> 1726 1726 <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 1727 1727 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>). 1728 1728 </p> 1729 1729 <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <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, 1731 1731 and is terminated by an empty line. There are no required header fields for this class of status code. Since HTTP/1.0 did 1732 1732 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. … … 2006 2006 <div id="rfc.iref.s.21"></div> 2007 2007 <h3 id="rfc.section.7.4.5"><a href="#rfc.section.7.4.5">7.4.5</a> <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. 2009 2009 </p> 2010 2010 <div id="rfc.iref.42"></div> … … 2266 2266 is strictly to inform the recipient of valid request methods associated with the resource. 2267 2267 </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> 2269 2269 </pre><p id="rfc.section.10.1.p.3">Example of use:</p> 2270 2270 <div id="rfc.figure.u.19"></div><pre class="text"> Allow: GET, HEAD, PUT … … 3094 3094 </p> 3095 3095 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <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 ] ) ] 3097 3097 3098 3098 <a href="#core.rules" class="smpl">BWS</a> = <BWS, defined in [Part1], Section 3.2.1> … … 3111 3111 3112 3112 <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*DIGIT 3113 <a href="#method" class="smpl">Method</a> = token3114 3113 3115 3114 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 3.2.1> 3116 3115 3117 3116 <a href="#core.rules" class="smpl">RWS</a> = <RWS, defined in [Part1], Section 3.2.1> 3118 <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> = *( HTAB / SP / VCHAR / obs-text )3119 3117 <a href="#header.referer" class="smpl">Referer</a> = absolute-URI / partial-URI 3120 3118 <a href="#header.retry-after" class="smpl">Retry-After</a> = HTTP-date / delta-seconds 3121 3119 3122 3120 <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> = 3DIGIT3124 3121 3125 3122 <a href="#abnf.dependencies" class="smpl">URI-reference</a> = <URI-reference, defined in [Part1], Section 2.7> … … 3160 3157 3161 3158 <a href="#header.from" class="smpl">mailbox</a> = <mailbox, defined in [RFC5322], Section 3.4> 3159 <a href="#method" class="smpl">method</a> = token 3162 3160 <a href="#preferred.date.format" class="smpl">minute</a> = 2DIGIT 3163 3161 <a href="#preferred.date.format" class="smpl">month</a> = %x4A.61.6E ; Jan … … 3183 3181 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in [Part1], Section 3.2.4> 3184 3182 3183 <a href="#status.code.and.reason.phrase" class="smpl">reason-phrase</a> = *( HTAB / SP / VCHAR / obs-text ) 3185 3184 <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = day-name "," SP date1 SP time-of-day SP GMT 3186 3185 <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = day-name-l "," SP date2 SP time-of-day SP GMT 3187 3186 3188 3187 <a href="#preferred.date.format" class="smpl">second</a> = 2DIGIT 3188 <a href="#status.code.and.reason.phrase" class="smpl">status-code</a> = 3DIGIT 3189 3189 3190 3190 <a href="#preferred.date.format" class="smpl">time-of-day</a> = hour ":" minute ":" second … … 3199 3199 ; Location defined but not used 3200 3200 ; Max-Forwards defined but not used 3201 ; Reason-Phrase defined but not used3202 3201 ; Referer defined but not used 3203 3202 ; Retry-After defined but not used 3204 3203 ; Server defined but not used 3205 ; Status-Code defined but not used3206 3204 ; User-Agent defined but not used 3205 ; reason-phrase defined but not used 3206 ; status-code defined but not used 3207 3207 </pre><h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 3208 3208 <h2 id="rfc.section.C.1"><a href="#rfc.section.C.1">C.1</a> Since RFC 2616 … … 3313 3313 <p id="rfc.section.C.7.p.1">Closed issues: </p> 3314 3314 <ul> 3315 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>>: " Reason-Phrase BNF"3315 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/94">http://tools.ietf.org/wg/httpbis/trac/ticket/94</a>>: "reason-phrase BNF" 3316 3316 </li> 3317 3317 </ul> … … 3419 3419 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/112">http://tools.ietf.org/wg/httpbis/trac/ticket/112</a>>: "PUT - 'store under' vs 'store at'" 3420 3420 </li> 3421 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/137">http://tools.ietf.org/wg/httpbis/trac/ticket/137</a>>: "duplicate ABNF for Reason-Phrase"3421 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/137">http://tools.ietf.org/wg/httpbis/trac/ticket/137</a>>: "duplicate ABNF for reason-phrase" 3422 3422 </li> 3423 3423 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/180">http://tools.ietf.org/wg/httpbis/trac/ticket/180</a>>: "Note special status of Content-* prefix in header registration procedures" … … 3623 3623 <li><tt>Location</tt> <a href="#rfc.iref.g.32"><b>10.5</b></a></li> 3624 3624 <li><tt>Max-Forwards</tt> <a href="#rfc.iref.g.33"><b>10.6</b></a></li> 3625 <li><tt> Method</tt> <a href="#rfc.iref.g.1"><b>2</b></a></li>3625 <li><tt>method</tt> <a href="#rfc.iref.g.1"><b>2</b></a></li> 3626 3626 <li><tt>minute</tt> <a href="#rfc.iref.g.11"><b>8</b></a></li> 3627 3627 <li><tt>month</tt> <a href="#rfc.iref.g.16"><b>8</b></a></li> … … 3629 3629 <li><tt>product</tt> <a href="#rfc.iref.g.22"><b>9</b></a></li> 3630 3630 <li><tt>product-version</tt> <a href="#rfc.iref.g.23"><b>9</b></a></li> 3631 <li><tt> Reason-Phrase</tt> <a href="#rfc.iref.g.4"><b>4</b></a></li>3631 <li><tt>reason-phrase</tt> <a href="#rfc.iref.g.4"><b>4</b></a></li> 3632 3632 <li><tt>Referer</tt> <a href="#rfc.iref.g.34"><b>10.7</b></a></li> 3633 3633 <li><tt>Retry-After</tt> <a href="#rfc.iref.g.35"><b>10.8</b></a></li> … … 3636 3636 <li><tt>second</tt> <a href="#rfc.iref.g.12"><b>8</b></a></li> 3637 3637 <li><tt>Server</tt> <a href="#rfc.iref.g.37"><b>10.9</b></a></li> 3638 <li><tt> Status-Code</tt> <a href="#rfc.iref.g.2"><b>4</b></a></li>3638 <li><tt>status-code</tt> <a href="#rfc.iref.g.2"><b>4</b></a></li> 3639 3639 <li><tt>time-of-day</tt> <a href="#rfc.iref.g.9"><b>8</b></a></li> 3640 3640 <li><tt>User-Agent</tt> <a href="#rfc.iref.g.38"><b>10.10</b></a></li> … … 3672 3672 <li><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul> 3673 3673 <li>Max-Forwards header field <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 3674 <li>methods 3675 3675 <ul> 3676 3676 <li>CONNECT <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>
Note: See TracChangeset
for help on using the changeset viewer.