Changeset 2098 for draft-ietf-httpbis/latest
- Timestamp:
- 07/01/13 09:02:41 (10 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r2097 r2098 449 449 } 450 450 @bottom-center { 451 content: "Expires July 1 0, 2013";451 content: "Expires July 11, 2013"; 452 452 } 453 453 @bottom-right { … … 494 494 <meta name="dct.creator" content="Reschke, J. F."> 495 495 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest"> 496 <meta name="dct.issued" scheme="ISO8601" content="2013-01-0 6">496 <meta name="dct.issued" scheme="ISO8601" content="2013-01-07"> 497 497 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 498 498 <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation."> … … 522 522 <tr> 523 523 <td class="left">Intended status: Standards Track</td> 524 <td class="right">January 6, 2013</td>524 <td class="right">January 7, 2013</td> 525 525 </tr> 526 526 <tr> 527 <td class="left">Expires: July 1 0, 2013</td>527 <td class="left">Expires: July 11, 2013</td> 528 528 <td class="right"></td> 529 529 </tr> … … 553 553 in progress”. 554 554 </p> 555 <p>This Internet-Draft will expire on July 1 0, 2013.</p>555 <p>This Internet-Draft will expire on July 11, 2013.</p> 556 556 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 557 557 <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 1580 1580 <p id="rfc.section.4.3.7.p.6">A server generating a successful response to OPTIONS <em class="bcp14">SHOULD</em> send any header fields that might indicate optional features implemented by the server and applicable to the target resource 1581 1581 (e.g., <a href="#header.allow" class="smpl">Allow</a>), including potential extensions not defined by this specification. The response payload, if any, might also describe the 1582 communication options in a machine or human-readable representation. A standard format for such a payload is not defined by1583 this specification, but might be defined by future extensions to HTTP. A server <em class="bcp14">MUST</em> generate a <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> field with a value of "0" if no payload body is to be sent in the response.1582 communication options in a machine or human-readable representation. A standard format for such a representation is not defined 1583 by this specification, but might be defined by future extensions to HTTP. A server <em class="bcp14">MUST</em> generate a <a href="p1-messaging.html#header.content-length" class="smpl">Content-Length</a> field with a value of "0" if no payload body is to be sent in the response. 1584 1584 </p> 1585 1585 <p id="rfc.section.4.3.7.p.7">A client <em class="bcp14">MAY</em> send a <a href="#header.max-forwards" class="smpl">Max-Forwards</a> header field in an OPTIONS request to target a specific recipient in the request chain (see <a href="#header.max-forwards" id="rfc.xref.header.max-forwards.1" title="Max-Forwards">Section 5.1.2</a>). A proxy <em class="bcp14">MUST NOT</em> generate a Max-Forwards header field while forwarding a request unless that request was received with a Max-Forwards field. … … 2131 2131 </p> 2132 2132 <p id="rfc.section.6.p.3">For example, if an unrecognized status code of 471 is received by a client, the client can assume that there was something 2133 wrong with its request and treat the response as if it had received a 400 status code. If the response includes a message2134 body, it will usually include a representation that explains the response status.2133 wrong with its request and treat the response as if it had received a 400 status code. The response message will usually contain 2134 a representation that explains the status. 2135 2135 </p> 2136 2136 <p id="rfc.section.6.p.4">The first digit of the status-code defines the class of response. The last two digits do not have any categorization role. … … 2410 2410 <div id="rfc.iref.72"></div> 2411 2411 <h3 id="rfc.section.6.3.1"><a href="#rfc.section.6.3.1">6.3.1</a> <a id="status.200" href="#status.200">200 OK</a></h3> 2412 <p id="rfc.section.6.3.1.p.1">The <dfn>200 (OK)</dfn> status code indicates that the request has succeeded. The payload sent in the response is dependent on the method used in2413 the request, for example:2412 <p id="rfc.section.6.3.1.p.1">The <dfn>200 (OK)</dfn> status code indicates that the request has succeeded. The meaning of a payload sent in the response depends on the request 2413 method, as follows: 2414 2414 </p> 2415 2415 <dl> … … 2418 2418 </dd> 2419 2419 <dt>HEAD</dt> 2420 <dd>the same representation as GET, except without the message body;</dd>2420 <dd>the same representation as GET, but without the representation data;</dd> 2421 2421 <dt>POST</dt> 2422 2422 <dd>a representation describing or containing the result of the action;</dd> … … 2440 2440 <p id="rfc.section.6.3.3.p.1">The <dfn>202 (Accepted)</dfn> status code indicates that the request has been accepted for processing, but the processing has not been completed. The request 2441 2441 might or might not eventually be acted upon, as it might be disallowed when processing actually takes place. There is no facility 2442 for re-sending a status code from an asynchronous operation such as this.2442 in HTTP for re-sending a status code from an asynchronous operation. 2443 2443 </p> 2444 2444 <p id="rfc.section.6.3.3.p.2">The 202 response is intentionally non-committal. Its purpose is to allow a server to accept a request for some other process 2445 2445 (perhaps a batch-oriented process that is only run once per day) without requiring that the user agent's connection to the 2446 2446 server persist until the process is completed. The representation sent with this response ought to describe the request's 2447 current status and either a pointer to a status monitor or some estimate of when the user can expect the request to be fulfilled. 2447 current status and point to (or embed) a status monitor that can provide the user with an estimate of when the request will 2448 be fulfilled. 2448 2449 </p> 2449 2450 <div id="rfc.iref.72"></div> … … 2458 2459 <h3 id="rfc.section.6.3.5"><a href="#rfc.section.6.3.5">6.3.5</a> <a id="status.204" href="#status.204">204 No Content</a></h3> 2459 2460 <p id="rfc.section.6.3.5.p.1">The <dfn>204 (No Content)</dfn> status code indicates that the server has successfully fulfilled the request and that there is no additional content to send 2460 in the response payload body. Metadata in the response header fields refer to the <a href="#resources" class="smpl">target resource</a> and its current representation after the requested action.2461 in the response payload body. Metadata in the response header fields refer to the <a href="#resources" class="smpl">target resource</a> and its selected representation after the requested action was applied. 2461 2462 </p> 2462 2463 <p id="rfc.section.6.3.5.p.2">For example, if a 204 status code is received in response to a PUT request and the response contains an <a href="p4-conditional.html#header.etag" class="smpl">ETag</a> header field, then the PUT was successful and the ETag field-value contains the entity-tag for the new representation of that … … 2472 2473 automated data transfers to be prevalent, such as within distributed version control systems. 2473 2474 </p> 2474 <p id="rfc.section.6.3.5.p.5">A 204 response does not include a message body, and thus is always terminated by the first empty line after the header fields.</p>2475 <p id="rfc.section.6.3.5.p.5">A 204 response is terminated by the first empty line after the header fields because it cannot contain a message body.</p> 2475 2476 <div id="rfc.iref.72"></div> 2476 2477 <h3 id="rfc.section.6.3.6"><a href="#rfc.section.6.3.6">6.3.6</a> <a id="status.205" href="#status.205">205 Reset Content</a></h3> … … 2530 2531 most appropriate representation(s) for its needs (<a href="#content.negotiation" title="Content Negotiation">Section 3.4</a>). 2531 2532 </p> 2532 <p id="rfc.section.6.4.1.p.2">For request methods other than HEAD, the server <em class="bcp14">SHOULD</em> generate a payload in the 300 response containing a list of representation metadata and URI reference(s) from which the user 2533 <p id="rfc.section.6.4.1.p.2">If the server has a preferred choice, the server <em class="bcp14">SHOULD</em> generate a <a href="#header.location" class="smpl">Location</a> header field containing a preferred choice's URI reference. The user agent <em class="bcp14">MAY</em> use the Location field value for automatic redirection. 2534 </p> 2535 <p id="rfc.section.6.4.1.p.3">For request methods other than HEAD, the server <em class="bcp14">SHOULD</em> generate a payload in the 300 response containing a list of representation metadata and URI reference(s) from which the user 2533 2536 or user agent can choose the one most preferred. The user agent <em class="bcp14">MAY</em> make a selection from that list automatically, depending upon the list format, but this specification does not define a standard 2534 2537 for such automatic selection. 2535 2538 </p> 2536 <p id="rfc.section.6.4.1.p.3">If the server has a preferred choice, the server <em class="bcp14">SHOULD</em> generate a <a href="#header.location" class="smpl">Location</a> header field containing a preferred choice's URI reference. The user agent <em class="bcp14">MAY</em> use the Location field value for automatic redirection.2537 </p>2538 2539 <p id="rfc.section.6.4.1.p.4">Caches <em class="bcp14">MAY</em> use a heuristic (see <a href="p6-cache.html#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a> of <a href="#Part6" id="rfc.xref.Part6.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Caching">[Part6]</cite></a>) to determine freshness for 300 responses. 2539 2540 </p> 2541 <div class="note" id="rfc.section.6.4.1.p.5"> 2542 <p> <b>Note:</b> The original proposal for 300 defined the URI header field as providing a list of alternative representations, such that it 2543 would be usable for 200, 300, and 406 responses and be transferred in responses to the HEAD method. However, lack of deployment 2544 and disagreement over syntax led to both URI and Alternates (a subsequent proposal) being dropped from this specification. 2545 It is possible to communicate the list using a set of Link header fields <a href="#RFC5988" id="rfc.xref.RFC5988.1"><cite title="Web Linking">[RFC5988]</cite></a>, each with a relationship of "alternate", though deployment is a chicken-and-egg problem. 2546 </p> 2547 </div> 2540 2548 <div id="rfc.iref.73"></div> 2541 2549 <h3 id="rfc.section.6.4.2"><a href="#rfc.section.6.4.2">6.4.2</a> <a id="status.301" href="#status.301">301 Moved Permanently</a></h3> … … 2645 2653 <p id="rfc.section.6.5.6.p.2">The server <em class="bcp14">SHOULD</em> generate a payload containing a list of available representation characteristics and corresponding resource identifiers from 2646 2654 which the user or user agent can choose the one most appropriate. A user agent <em class="bcp14">MAY</em> automatically select the most appropriate choice from that list. However, this specification does not define any standard 2647 for such automatic selection. [The original proposal for 406 defined the Alternates header field as providing a list of alternative 2648 representations, such that it would be available for responses to the HEAD method, but lack of deployment led to Alternates 2649 being dropped from the specification.] 2655 for such automatic selection, as described in <a href="#status.300" id="rfc.xref.status.300.2" title="300 Multiple Choices">Section 6.4.1</a>. 2650 2656 </p> 2651 2657 <div id="rfc.iref.74"></div> … … 3328 3334 <td class="left">300</td> 3329 3335 <td class="left">Multiple Choices</td> 3330 <td class="left"> <a href="#status.300" id="rfc.xref.status.300. 2" title="300 Multiple Choices">Section 6.4.1</a>3336 <td class="left"> <a href="#status.300" id="rfc.xref.status.300.3" title="300 Multiple Choices">Section 6.4.1</a> 3331 3337 </td> 3332 3338 </tr> … … 3955 3961 <h2 id="rfc.references.2"><a href="#rfc.section.11.2" id="rfc.section.11.2">11.2</a> Informative References 3956 3962 </h2> 3957 <table> 3963 <table> 3958 3964 <tr> 3959 3965 <td class="reference"><b id="BCP13">[BCP13]</b></td> … … 4042 4048 </tr> 4043 4049 <tr> 4050 <td class="reference"><b id="RFC5988">[RFC5988]</b></td> 4051 <td class="top">Nottingham, M., “<a href="http://tools.ietf.org/html/rfc5988">Web Linking</a>”, RFC 5988, October 2010. 4052 </td> 4053 </tr> 4054 <tr> 4044 4055 <td class="reference"><b id="RFC6265">[RFC6265]</b></td> 4045 4056 <td class="top"><a href="mailto:abarth@eecs.berkeley.edu" title="
 University of California, Berkeley
 ">Barth, A.</a>, “<a href="http://tools.ietf.org/html/rfc6265">HTTP State Management Mechanism</a>”, RFC 6265, April 2011. … … 4381 4392 </li> 4382 4393 <li><a id="rfc.index.3" href="#rfc.index.3"><b>3</b></a><ul> 4383 <li>300 Multiple Choices (status code) <a href="#rfc.xref.status.300.1">6.1</a>, <a href="#rfc.iref.73"><b>6.4.1</b></a>, <a href="#rfc.xref.status.300.2"> 8.2.3</a></li>4394 <li>300 Multiple Choices (status code) <a href="#rfc.xref.status.300.1">6.1</a>, <a href="#rfc.iref.73"><b>6.4.1</b></a>, <a href="#rfc.xref.status.300.2">6.5.6</a>, <a href="#rfc.xref.status.300.3">8.2.3</a></li> 4384 4395 <li>301 Moved Permanently (status code) <a href="#rfc.xref.status.301.1">6.1</a>, <a href="#rfc.iref.73"><b>6.4.2</b></a>, <a href="#rfc.xref.status.301.2">8.2.3</a>, <a href="#rfc.xref.status.301.3">B</a></li> 4385 4396 <li>302 Found (status code) <a href="#rfc.xref.status.302.1">6.1</a>, <a href="#rfc.iref.73"><b>6.4.3</b></a>, <a href="#rfc.xref.status.302.2">8.2.3</a>, <a href="#rfc.xref.status.302.3">B</a></li> … … 4711 4722 <li><em>RFC5789</em> <a href="#rfc.xref.RFC5789.1">4.3.4</a>, <a href="#RFC5789"><b>11.2</b></a></li> 4712 4723 <li><em>RFC5987</em> <a href="#rfc.xref.RFC5987.1">8.3.1</a>, <a href="#RFC5987"><b>11.2</b></a></li> 4724 <li><em>RFC5988</em> <a href="#rfc.xref.RFC5988.1">6.4.1</a>, <a href="#RFC5988"><b>11.2</b></a></li> 4713 4725 <li><em>RFC6265</em> <a href="#rfc.xref.RFC6265.1">4.3.8</a>, <a href="#RFC6265"><b>11.2</b></a></li> 4714 4726 <li><em>RFC6266</em> <a href="#RFC6266"><b>11.2</b></a>, <a href="#rfc.xref.RFC6266.1">B</a></li> -
draft-ietf-httpbis/latest/p2-semantics.xml
r2097 r2098 1654 1654 The response payload, if any, might also describe the communication options 1655 1655 in a machine or human-readable representation. A standard format for such a 1656 payloadis not defined by this specification, but might be defined by1656 representation is not defined by this specification, but might be defined by 1657 1657 future extensions to HTTP. 1658 1658 A server &MUST; generate a <x:ref>Content-Length</x:ref> field with a value … … 2516 2516 For example, if an unrecognized status code of 471 is received by a client, 2517 2517 the client can assume that there was something wrong with its request and 2518 treat the response as if it had received a 400 status code. If the response 2519 includes a message body, it will usually include a representation that 2520 explains the response status. 2518 treat the response as if it had received a 400 status code. The response 2519 message will usually contain a representation that explains the status. 2521 2520 </t> 2522 2521 <t> … … 2700 2699 <t> 2701 2700 The <x:dfn>200 (OK)</x:dfn> status code indicates that the request has 2702 succeeded. The payload sent in the response2703 is dependent on the method used in the request, for example:2701 succeeded. The meaning of a payload sent in the response depends on the 2702 request method, as follows: 2704 2703 <list style="hanging"> 2705 2704 <t hangText="GET"> … … 2707 2706 </t> 2708 2707 <t hangText="HEAD"> 2709 the same representation as GET, except without the message body;2708 the same representation as GET, but without the representation data; 2710 2709 </t> 2711 2710 <t hangText="POST"> … … 2754 2753 completed. The request might or might not eventually be acted upon, as it 2755 2754 might be disallowed when processing actually takes place. There is no 2756 facility for re-sending a status code from an asynchronous operation such2757 as this.2755 facility in HTTP for re-sending a status code from an asynchronous 2756 operation. 2758 2757 </t> 2759 2758 <t> … … 2763 2762 requiring that the user agent's connection to the server persist 2764 2763 until the process is completed. The representation sent with this 2765 response ought to describe the request's current status 2766 and either a pointer to a status monitor or some estimate of when the2767 user can expect the request tobe fulfilled.2764 response ought to describe the request's current status and point to 2765 (or embed) a status monitor that can provide the user with an estimate of 2766 when the request will be fulfilled. 2768 2767 </t> 2769 2768 </section> … … 2796 2795 has successfully fulfilled the request and that there is no additional 2797 2796 content to send in the response payload body. Metadata in the response 2798 header fields refer to the <x:ref>target resource</x:ref> and its current representation2799 after the requested action.2797 header fields refer to the <x:ref>target resource</x:ref> and its 2798 selected representation after the requested action was applied. 2800 2799 </t> 2801 2800 <t> … … 2822 2821 </t> 2823 2822 <t> 2824 A 204 response does not include a message body, and thus is always2825 terminated by the first empty line after the header fields.2823 A 204 response is terminated by the first empty line after the header 2824 fields because it cannot contain a message body. 2826 2825 </t> 2827 2826 </section> … … 2941 2940 <t> 2942 2941 The <x:dfn>300 (Multiple Choices)</x:dfn> status code indicates that the 2943 <x:ref>target resource</x:ref> has more than one representation, each with its own more2944 specific identifier, and information about the alternatives is being2945 provided so that the user (or user agent) can select a preferred2942 <x:ref>target resource</x:ref> has more than one representation, each with 2943 its own more specific identifier, and information about the alternatives is 2944 being provided so that the user (or user agent) can select a preferred 2946 2945 representation by redirecting its request to one or more of those 2947 2946 identifiers. In other words, the server desires that the user agent engage 2948 2947 in reactive negotiation to select the most appropriate representation(s) 2949 2948 for its needs (&content-negotiation;). 2949 </t> 2950 <t> 2951 If the server has a preferred choice, the server &SHOULD; generate a 2952 <x:ref>Location</x:ref> header field containing a preferred choice's URI 2953 reference. The user agent &MAY; use the Location field value for automatic 2954 redirection. 2950 2955 </t> 2951 2956 <t> … … 2958 2963 </t> 2959 2964 <t> 2960 If the server has a preferred choice, the server &SHOULD; generate a2961 <x:ref>Location</x:ref> header field containing a preferred choice's URI2962 reference. The user agent &MAY; use the Location field value for automatic2963 redirection.2964 </t>2965 <t>2966 2965 Caches &MAY; use a heuristic (see &p6-heuristic;) to determine 2967 2966 freshness for 300 responses. 2968 2967 </t> 2969 2968 <x:note> 2969 <t> 2970 &Note; The original proposal for 300 defined the URI header field as 2971 providing a list of alternative representations, such that it would be 2972 usable for 200, 300, and 406 responses and be transferred in responses to 2973 the HEAD method. However, lack of deployment and disagreement over syntax 2974 led to both URI and Alternates (a subsequent proposal) being dropped from 2975 this specification. It is possible to communicate the list using a set of 2976 Link header fields <xref target="RFC5988"/>, each with a relationship of 2977 "alternate", though deployment is a chicken-and-egg problem. 2978 </t> 2979 </x:note> 2970 2980 </section> 2971 2981 … … 3221 3231 A user agent &MAY; automatically select the most appropriate choice from 3222 3232 that list. However, this specification does not define any standard for 3223 such automatic selection. [The original proposal for 406 defined the 3224 Alternates header field as providing a list of alternative representations, 3225 such that it would be available for responses to the HEAD method, but lack 3226 of deployment led to Alternates being dropped from the specification.] 3233 such automatic selection, as described in <xref target="status.300"/>. 3227 3234 </t> 3228 3235 </section> … … 5516 5523 </reference> 5517 5524 5525 <reference anchor='RFC5988'> 5526 <front> 5527 <title>Web Linking</title> 5528 <author initials='M.' surname='Nottingham' fullname='M. Nottingham'> 5529 <organization /></author> 5530 <date year='2010' month='October' /> 5531 </front> 5532 <seriesInfo name='RFC' value='5988' /> 5533 </reference> 5534 5518 5535 <reference anchor="RFC6265"> 5519 5536 <front>
Note: See TracChangeset
for help on using the changeset viewer.