Changeset 1161
- Timestamp:
- 11/03/11 05:37:52 (12 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.xml
r1159 r1161 1405 1405 because the associated response header fields (e.g., Transfer-Encoding, 1406 1406 Content-Length, etc.) only indicate what their values would have been 1407 if the method had been GET. All 1xx (Informational), 204 (No Content),1407 if the request method had been GET. All 1xx (Informational), 204 (No Content), 1408 1408 and 304 (Not Modified) responses &MUST-NOT; include a message-body. 1409 1409 All other responses do include a message-body, although the body … … 1604 1604 <x:anchor-alias value="Method"/> 1605 1605 <t> 1606 The Method token indicates themethod to be performed on the1607 resource identified by the request-target. Themethod is case-sensitive.1606 The Method token indicates the request method to be performed on the 1607 target resource. The request method is case-sensitive. 1608 1608 </t> 1609 1609 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Method"/> … … 1615 1615 <x:anchor-alias value="request-target"/> 1616 1616 <t> 1617 The request-target identifies the resource upon which to apply the request.1617 The request-target identifies the target resource upon which to apply the request. 1618 1618 </t> 1619 1619 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="request-target"/> … … 1630 1630 The asterisk "*" ("asterisk form") means that the request does not apply to a 1631 1631 particular resource, but to the server itself. This is only allowed for the 1632 OPTIONS method. Thus, the only valid example is1632 OPTIONS request method. Thus, the only valid example is 1633 1633 </t> 1634 1634 <figure><artwork type="message/http; msgtype="request"" x:indent-with=" "> … … 1655 1655 </t> 1656 1656 <t><iref item="authority form (of request-target)"/> 1657 The "authority form" is only used by the CONNECT method (&CONNECT;).1657 The "authority form" is only used by the CONNECT request method (&CONNECT;). 1658 1658 </t> 1659 1659 <t><iref item="path-absolute form (of request-target)"/> … … 1677 1677 </t> 1678 1678 <t> 1679 If a proxy receives a request without any path in the request-target and 1680 the method specified is capable of supporting the asterisk form of 1681 request-target, then the last proxy on the request chain &MUST; forward the 1682 request with "*" as the final request-target. 1679 If a proxy receives an OPTIONS request without any path in the 1680 request-target, then the last proxy on the request chain &MUST; 1681 forward the request with "*" as the final request-target. 1683 1682 </t> 1684 1683 <figure><preamble> … … 1688 1687 </artwork></figure> 1689 1688 <figure><preamble> 1690 would be forwarded by the proxy as1689 would be forwarded by the final proxy as 1691 1690 </preamble><artwork type="message/http; msgtype="request"" x:indent-with=" "> 1692 1691 OPTIONS * HTTP/1.1 … … 2525 2524 </t> 2526 2525 <t> 2527 Clients &SHOULD-NOT; pipeline requests using non-idempotent methods or2528 non-idempotent sequences of methods (see &idempotent-methods;). Otherwise, a2526 Clients &SHOULD-NOT; pipeline requests using non-idempotent request methods or 2527 non-idempotent sequences of request methods (see &idempotent-methods;). Otherwise, a 2529 2528 premature termination of the transport connection could lead to 2530 2529 indeterminate results. A client wishing to send a non-idempotent … … 2696 2695 transport connection and retransmit the aborted sequence of requests 2697 2696 without user interaction so long as the request sequence is 2698 idempotent (see &idempotent-methods;). Non-idempotent methods or sequences2697 idempotent (see &idempotent-methods;). Non-idempotent request methods or sequences 2699 2698 &MUST-NOT; be automatically retried, although user agents &MAY; offer a 2700 2699 human operator the choice of retrying the request(s). Confirmation by … … 2804 2803 code, it &MAY; close the transport connection or it &MAY; continue 2805 2804 to read and discard the rest of the request. It &MUST-NOT; 2806 perform the request edmethod if it returns a final status code.2805 perform the request method if it returns a final status code. 2807 2806 </t> 2808 2807 <t> An origin server &SHOULD-NOT; send a 100 (Continue) response if … … 3038 3037 The "Content-Length" header field indicates the size of the 3039 3038 message-body, in decimal number of octets, for any message other than 3040 a response to the HEAD method or a response with a status code of 304. 3041 In the case of responses to the HEAD method, it indicates the size of 3042 the payload body (not including any potential transfer-coding) that 3043 would have been sent had the request been a GET. 3044 In the case of the 304 (Not Modified) response, it indicates the size of 3045 the payload body (not including any potential transfer-coding) that 3046 would have been sent in a 200 (OK) response. 3039 a response to a HEAD request or a response with a status code of 304. 3040 In the case of a response to a HEAD request, Content-Length indicates 3041 the size of the payload body (not including any potential transfer-coding) 3042 that would have been sent had the request been a GET. 3043 In the case of a 304 (Not Modified) response to a GET request, 3044 Content-Length indicates the size of the payload body (not including 3045 any potential transfer-coding) that would have been sent in a 200 (OK) 3046 response. 3047 3047 </t> 3048 3048 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Content-Length"/><iref primary="true" item="Grammar" subitem="Content-Length-v"/> … … 3384 3384 supported protocol while indicating to the server that it would like 3385 3385 to use a "better" protocol if available (where "better" is determined 3386 by the server, possibly according to the nature of the method and/or3387 resource being requested).3386 by the server, possibly according to the nature of the request method 3387 or target resource). 3388 3388 </t> 3389 3389 <t> … … 4868 4868 since 1990. The first version of HTTP, later referred to as HTTP/0.9, 4869 4869 was a simple protocol for hypertext data transfer across the Internet 4870 with only a single methodand no metadata.4870 with only a single request method (GET) and no metadata. 4871 4871 HTTP/1.0, as defined by <xref target="RFC1945"/>, added a range of request 4872 4872 methods and MIME-like messaging that could include metadata about the data … … 5023 5023 Update use of abs_path production from RFC 1808 to the path-absolute + query 5024 5024 components of RFC 3986. State that the asterisk form is allowed for the OPTIONS 5025 method only.5025 request method only. 5026 5026 (<xref target="request-target"/>) 5027 5027 </t> -
draft-ietf-httpbis/latest/p2-semantics.xml
r1160 r1161 430 430 <x:anchor-alias value="extension-method"/> 431 431 <t> 432 The Method token indicates the method to be performed on the target432 The Method token indicates the request method to be performed on the target 433 433 resource (&effective-request-uri;). The method is case-sensitive. 434 434 </t> … … 468 468 </texttable> 469 469 <t> 470 Note that this list is not exhaustive — it does not include methods defined470 Note that this list is not exhaustive — it does not include request methods defined 471 471 in other specifications. 472 472 </t> … … 811 811 <section title="Method Definitions" anchor="method.definitions"> 812 812 <t> 813 The set of common methods for HTTP/1.1 is defined below. Although813 The set of common request methods for HTTP/1.1 is defined below. Although 814 814 this set can be expanded, additional methods cannot be assumed to 815 815 share the same semantics for separately extended clients and servers. … … 828 828 <t> 829 829 In particular, the convention has been established that the GET, HEAD, 830 OPTIONS, and TRACE methods &SHOULD-NOT; have the significance of taking an action 831 other than retrieval. These methods ought to be considered "<x:dfn anchor="safe">safe</x:dfn>". 830 OPTIONS, and TRACE request methods &SHOULD-NOT; have the significance 831 of taking an action other than retrieval. These request methods ought 832 to be considered "<x:dfn anchor="safe">safe</x:dfn>". 832 833 This allows user agents to represent other methods, such as POST, PUT 833 834 and DELETE, in a special way, so that the user is made aware of the … … 846 847 <iref item="Idempotent Methods" primary="true"/> 847 848 <t> 848 Methods can also have the property of "idempotence" in that, aside849 from error or expiration issues, the intended effect of multiple849 Request methods can also have the property of "idempotence" in that, 850 aside from error or expiration issues, the intended effect of multiple 850 851 identical requests is the same as for a single request. 851 The methods PUT, DELETE, and all safemethods are idempotent.852 PUT, DELETE, and all safe request methods are idempotent. 852 853 It is important to note that idempotence refers only to changes 853 854 requested by the client: a server is free to change its state due … … 865 866 <iref primary="true" item="Methods" subitem="OPTIONS" x:for-anchor=""/> 866 867 <t> 867 The OPTIONS method re presents a request forinformation about the868 The OPTIONS method requests information about the 868 869 communication options available on the request/response chain 869 identified by the effective request URI. This method allows theclient to870 identified by the effective request URI. This method allows a client to 870 871 determine the options and/or requirements associated with a resource, 871 872 or the capabilities of a server, without implying a resource action … … 873 874 </t> 874 875 <t> 875 Responses to th ismethod are not cacheable.876 Responses to the OPTIONS method are not cacheable. 876 877 </t> 877 878 <t> … … 924 925 <iref primary="true" item="Methods" subitem="GET" x:for-anchor=""/> 925 926 <t> 926 The GET method means retrieve whatever information (in the form of a927 representation) currently corresponds tothe target resource.927 The GET method requests transfer of a current representation of 928 the target resource. 928 929 </t> 929 930 <t> … … 937 938 request message includes an If-Modified-Since, If-Unmodified-Since, 938 939 If-Match, If-None-Match, or If-Range header field. A conditional GET 939 methodrequests that the representation be transferred only under the940 requests that the representation be transferred only under the 940 941 circumstances described by the conditional header field(s). The 941 conditional GET methodis intended to reduce unnecessary network942 conditional GET request is intended to reduce unnecessary network 942 943 usage by allowing cached representations to be refreshed without requiring 943 944 multiple requests or transferring data already held by the client. … … 947 948 request message includes a Range header field. A partial GET requests 948 949 that only part of the representation be transferred, as described in &header-range;. 949 The partial GET methodis intended to reduce unnecessary950 The partial GET request is intended to reduce unnecessary 950 951 network usage by allowing partially-retrieved representations to be 951 952 completed without transferring data already held by the client. … … 991 992 <iref primary="true" item="Methods" subitem="POST" x:for-anchor=""/> 992 993 <t> 993 The POST method is used to requestthat the origin server accept the994 The POST method requests that the origin server accept the 994 995 representation enclosed in the request as data to be processed by the 995 996 target resource. POST is designed to allow a uniform method to cover the … … 1047 1048 <iref primary="true" item="Methods" subitem="PUT" x:for-anchor=""/> 1048 1049 <t> 1049 The PUT method is used to requestthat the state of the target resource1050 The PUT method requests that the state of the target resource 1050 1051 be created or replaced with the state defined by the representation 1051 1052 enclosed in the request message payload. A successful PUT of a given … … 1198 1199 <iref primary="true" item="Methods" subitem="TRACE" x:for-anchor=""/> 1199 1200 <t> 1200 The TRACE method is used to invokea remote, application-layer loop-back1201 The TRACE method requests a remote, application-layer loop-back 1201 1202 of the request message. The final recipient of the request 1202 1203 &SHOULD; reflect the message received back to the client as the … … 1227 1228 <iref primary="true" item="Methods" subitem="CONNECT" x:for-anchor=""/> 1228 1229 <t> 1229 The CONNECT method is used with a proxy to dynamically switch 1230 the connection to a tunnel. 1231 </t> 1232 <t> 1233 When using CONNECT, the request-target &MUST; be use the authority form 1234 (&request-target;); i.e., the host name and port number destination of the 1235 requested connection separated by a colon: 1230 The CONNECT method requests that the proxy establish a tunnel 1231 to the request-target and then restrict its behavior to blind 1232 forwarding of packets until the connection is closed. 1233 </t> 1234 <t> 1235 When using CONNECT, the request-target &MUST; use the authority form 1236 (&request-target;); i.e., the request-target consists of only the 1237 host name and port number of the tunnel destination, separated by a colon. 1238 For example, 1236 1239 </t> 1237 1240 <figure><artwork type="message/http; msgtype="request"" x:indent-with=" "> … … 2006 2009 <iref primary="true" item="Status Codes" subitem="415 Unsupported Media Type" x:for-anchor=""/> 2007 2010 <t> 2008 The server is refusing to service the request because the re presentation of2009 the request is in a format not supported by the target resource2010 for the requested method.2011 The server is refusing to service the request because the request 2012 payload is in a format not supported by this request method on the 2013 target resource. 2011 2014 </t> 2012 2015 </section> … … 2170 2173 The "Allow" response-header field lists the set of methods advertised as 2171 2174 supported by the target resource. The purpose of this field is strictly to 2172 inform the recipient of valid methods associated with the resource.2175 inform the recipient of valid request methods associated with the resource. 2173 2176 </t> 2174 2177 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Allow"/><iref primary="true" item="Grammar" subitem="Allow-v"/> … … 2390 2393 </t> 2391 2394 <t> 2392 The Max-Forwards header field &MAY; be ignored for all other methods. 2395 The Max-Forwards header field &MAY; be ignored for all other request 2396 methods. 2393 2397 </t> 2394 2398 </section> … … 2571 2575 <section title="Method Registry" anchor="method.registration"> 2572 2576 <t> 2573 The registration procedure for HTTP Methods is defined by2577 The registration procedure for HTTP request methods is defined by 2574 2578 <xref target="method.registry"/> of this document. 2575 2579 </t> … … 2976 2980 </t> 2977 2981 <t> 2978 Some methods, like TRACE (<xref target="TRACE"/>), expose information2982 Some request methods, like TRACE (<xref target="TRACE"/>), expose information 2979 2983 that was sent in request header fields within the body of their response. 2980 2984 Clients &SHOULD; be careful with sensitive information, like Cookies, 2981 Authorization credentials and other header fields that might be used to2985 Authorization credentials, and other header fields that might be used to 2982 2986 collect data from the client. 2983 2987 </t> -
draft-ietf-httpbis/latest/p3-payload.xml
r1153 r1161 1443 1443 For a GET or HEAD request, this is the same as the default semantics 1444 1444 when no Content-Location is provided by the server. For a state-changing 1445 methodlike PUT or POST, it implies that the server's response contains1445 request like PUT or POST, it implies that the server's response contains 1446 1446 the new representation of that resource, thereby distinguishing it from 1447 1447 representations that might only report about the action (e.g., "It worked!"). … … 1460 1460 contains a report on the action's status and the same report is 1461 1461 available (for future access with GET) at the given URI. For 1462 example, a purchase transaction made via the POST methodmight1462 example, a purchase transaction made via a POST request might 1463 1463 include a receipt document as the payload of the 200 response; 1464 1464 the Content-Location value provides an identifier for retrieving -
draft-ietf-httpbis/latest/p4-conditional.xml
r1145 r1161 802 802 representation exists, the server &MUST-NOT; perform the requested method, and 803 803 &MUST; return a 412 (Precondition Failed) response. This behavior is 804 most useful when the client wants to prevent an updating method, such805 as PUT, from modifying a resource that has changed since the client804 most useful when the client wants to prevent an updating request method, 805 such as PUT, from modifying a resource that has changed since the client 806 806 last retrieved it. 807 807 </t> … … 812 812 </t> 813 813 <t> 814 The meaning of "If-Match: *" is that the method &SHOULD; be performed814 The meaning of "If-Match: *" is that the request method &SHOULD; be performed 815 815 if the representation selected by the origin server (or by a cache, 816 816 possibly using the Vary mechanism, see &header-vary;) exists, and … … 937 937 <t> 938 938 This allows efficient updates of cached information with a minimum amount of 939 transaction overhead. It is also used to prevent a method (e.g., PUT)939 transaction overhead. It is also used to prevent a request method (e.g., PUT) 940 940 from inadvertently modifying an existing resource when the client 941 941 believes that the resource does not exist. … … 978 978 </t> 979 979 <t> 980 The meaning of "If-None-Match: *" is that the method &MUST-NOT; be980 The meaning of "If-None-Match: *" is that the request method &MUST-NOT; be 981 981 performed if the representation selected by the origin server (or by 982 982 a cache, possibly using the Vary mechanism, see &header-vary;)
Note: See TracChangeset
for help on using the changeset viewer.