draft-ietf-httpbis-safe-method-w-body-10.txt | draft-ietf-httpbis-safe-method-w-body-latest.txt | |||
---|---|---|---|---|
HTTP Working Group J. Reschke | HTTP Working Group J. Reschke | |||
Internet-Draft greenbytes | Internet-Draft greenbytes | |||
Intended status: Standards Track J.M. Snell | Intended status: Standards Track J.M. Snell | |||
Expires: October 31, 2025 | Expires: November 12, 2025 | |||
M. Bishop | M. Bishop | |||
Akamai | Akamai | |||
April 29, 2025 | May 11, 2025 | |||
The HTTP QUERY Method | The HTTP QUERY Method | |||
draft-ietf-httpbis-safe-method-w-body-10 | draft-ietf-httpbis-safe-method-w-body-latest | |||
Abstract | Abstract | |||
This specification defines a new HTTP method, QUERY, as a safe, | This specification defines a new HTTP method, QUERY, as a safe, | |||
idempotent request method that can carry request content. | idempotent request method that can carry request content. | |||
Editorial Note | Editorial Note | |||
This note is to be removed before publishing as an RFC. | This note is to be removed before publishing as an RFC. | |||
Discussion of this draft takes place on the HTTP working group | Discussion of this draft takes place on the HTTP working group | |||
mailing list (ietf-http-wg@w3.org), which is archived at | mailing list (ietf-http-wg@w3.org), which is archived at | |||
<https://lists.w3.org/Archives/Public/ietf-http-wg/>. | <https://lists.w3.org/Archives/Public/ietf-http-wg/>. | |||
Working Group information can be found at <https://httpwg.org/>; | Working Group information can be found at <https://httpwg.org/>; | |||
source code and issues list for this draft can be found at | source code and issues list for this draft can be found at | |||
<https://github.com/httpwg/http-extensions/labels/query-method>. | <https://github.com/httpwg/http-extensions/labels/query-method>. | |||
The changes in this draft are summarized in Appendix B.10. | The changes in this draft are summarized in Appendix B.11. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 31, 2025. | This Internet-Draft will expire on November 12, 2025. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2025 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
skipping to change at page 2, line 28 ¶ | skipping to change at page 2, line 28 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
1.2. Notational Conventions . . . . . . . . . . . . . . . . . 5 | 1.2. Notational Conventions . . . . . . . . . . . . . . . . . 5 | |||
2. QUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. QUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.1. Content-Location and Location Fields . . . . . . . . . . 6 | 2.1. Content-Location and Location Fields . . . . . . . . . . 6 | |||
2.2. Redirection . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.2. Redirection . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
2.3. Conditional Requests . . . . . . . . . . . . . . . . . . 6 | 2.3. Conditional Requests . . . . . . . . . . . . . . . . . . 6 | |||
2.4. Caching . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.4. Caching . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.5. Range Requests . . . . . . . . . . . . . . . . . . . . . 7 | 2.5. Range Requests . . . . . . . . . . . . . . . . . . . . . 7 | |||
3. The "Accept-Query" Header Field . . . . . . . . . . . . . . . 7 | 3. The "Accept-Query" Header Field . . . . . . . . . . . . . . . 7 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
5.1. Registration of QUERY method . . . . . . . . . . . . . . 9 | 5.1. Registration of QUERY method . . . . . . . . . . . . . . 9 | |||
5.2. Registration of Accept-Query field . . . . . . . . . . . 9 | 5.2. Registration of Accept-Query field . . . . . . . . . . . 9 | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
6.2. Informative References . . . . . . . . . . . . . . . . . 10 | 6.2. Informative References . . . . . . . . . . . . . . . . . 10 | |||
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 10 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 11 | |||
A.1. Simple Query . . . . . . . . . . . . . . . . . . . . . . 11 | A.1. Simple Query . . . . . . . . . . . . . . . . . . . . . . 11 | |||
A.2. Discovery of QUERY support . . . . . . . . . . . . . . . 11 | A.2. Discovery of QUERY support . . . . . . . . . . . . . . . 11 | |||
A.3. Discovery of QUERY Formats . . . . . . . . . . . . . . . 12 | A.3. Discovery of QUERY Formats . . . . . . . . . . . . . . . 12 | |||
A.4. Content-Location, Location, and Indirect Responses . . . 12 | A.4. Content-Location, Location, and Indirect Responses . . . 12 | |||
A.4.1. Using Content-Location . . . . . . . . . . . . . . . 13 | A.4.1. Using Content-Location . . . . . . . . . . . . . . . 13 | |||
A.4.2. Using Location . . . . . . . . . . . . . . . . . . . 14 | A.4.2. Using Location . . . . . . . . . . . . . . . . . . . 14 | |||
A.4.3. Indirect Responses . . . . . . . . . . . . . . . . . 15 | A.4.3. Indirect Responses . . . . . . . . . . . . . . . . . 15 | |||
A.5. More Query Formats . . . . . . . . . . . . . . . . . . . 15 | A.5. More Query Formats . . . . . . . . . . . . . . . . . . . 15 | |||
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 18 | Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 18 | |||
B.1. Since draft-ietf-httpbis-safe-method-w-body-00 . . . . . 18 | B.1. Since draft-ietf-httpbis-safe-method-w-body-00 . . . . . 18 | |||
B.2. Since draft-ietf-httpbis-safe-method-w-body-01 . . . . . 19 | B.2. Since draft-ietf-httpbis-safe-method-w-body-01 . . . . . 19 | |||
B.3. Since draft-ietf-httpbis-safe-method-w-body-02 . . . . . 19 | B.3. Since draft-ietf-httpbis-safe-method-w-body-02 . . . . . 19 | |||
B.4. Since draft-ietf-httpbis-safe-method-w-body-03 . . . . . 19 | B.4. Since draft-ietf-httpbis-safe-method-w-body-03 . . . . . 19 | |||
B.5. Since draft-ietf-httpbis-safe-method-w-body-04 . . . . . 19 | B.5. Since draft-ietf-httpbis-safe-method-w-body-04 . . . . . 19 | |||
B.6. Since draft-ietf-httpbis-safe-method-w-body-05 . . . . . 19 | B.6. Since draft-ietf-httpbis-safe-method-w-body-05 . . . . . 19 | |||
B.7. Since draft-ietf-httpbis-safe-method-w-body-06 . . . . . 20 | B.7. Since draft-ietf-httpbis-safe-method-w-body-06 . . . . . 20 | |||
B.8. Since draft-ietf-httpbis-safe-method-w-body-07 . . . . . 21 | B.8. Since draft-ietf-httpbis-safe-method-w-body-07 . . . . . 21 | |||
B.9. Since draft-ietf-httpbis-safe-method-w-body-08 . . . . . 21 | B.9. Since draft-ietf-httpbis-safe-method-w-body-08 . . . . . 21 | |||
B.10. Since draft-ietf-httpbis-safe-method-w-body-09 . . . . . 21 | B.10. Since draft-ietf-httpbis-safe-method-w-body-09 . . . . . 21 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 21 | B.11. Since draft-ietf-httpbis-safe-method-w-body-10 . . . . . 21 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 22 | ||||
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
1. Introduction | 1. Introduction | |||
This specification defines the HTTP QUERY request method as a means | This specification defines the HTTP QUERY request method as a means | |||
of making a safe, idempotent request that contains content. | of making a safe, idempotent request that contains content. | |||
Most often, this is desirable when the data conveyed in a request is | Most often, this is desirable when the data conveyed in a request is | |||
too voluminous to be encoded into the request's URI. For example, | too voluminous to be encoded into the request's URI. For example, | |||
skipping to change at page 4, line 45 ¶ | skipping to change at page 4, line 45 ¶ | |||
| Safe | yes | yes | potentially no | | | Safe | yes | yes | potentially no | | |||
| Idempotent | yes | yes | potentially no | | | Idempotent | yes | yes | potentially no | | |||
| Cacheable | yes | yes | yes, but only | | | Cacheable | yes | yes | yes, but only | | |||
| | | | for future GET | | | | | | for future GET | | |||
| | | | or HEAD requests | | | | | | or HEAD requests | | |||
| Content | "no | expected | expected | | | Content | "no | expected | expected | | |||
| (body) | defined | (semantics per | (semantics per | | | (body) | defined | (semantics per | (semantics per | | |||
| | semantics" | target resource) | target resource) | | | | semantics" | target resource) | target resource) | | |||
+------------+------------+------------------+------------------+ | +------------+------------+------------------+------------------+ | |||
Table 1 | Table 1: Summary of relevant method properties | |||
1.1. Terminology | 1.1. Terminology | |||
This document uses terminology defined in Section 3 of [HTTP]. | This document uses terminology defined in Section 3 of [HTTP]. | |||
Furthermore, it uses the terms _URI query parameter_ for parameters | Furthermore, it uses the terms _URI query parameter_ for parameters | |||
in the query component of a URI (Section 4.2.2 of [HTTP]) and _query | in the query component of a URI (Section 4.2.2 of [HTTP]) and _query | |||
content_ for the request content (Section 4.2.2 of [HTTP]) of a QUERY | content_ for the request content (Section 4.2.2 of [HTTP]) of a QUERY | |||
request. | request. | |||
skipping to change at page 5, line 25 ¶ | skipping to change at page 5, line 25 ¶ | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. QUERY | 2. QUERY | |||
The QUERY method is used to initiate a server-side query. Unlike the | The QUERY method is used to initiate a server-side query. Unlike the | |||
HTTP GET method, which requests that a server return a representation | HTTP GET method, which requests that a server return a representation | |||
of the resource identified by the target URI (as defined by | of the resource identified by the target URI (as defined by | |||
Section 7.1 of [HTTP]), the QUERY method is used to ask the server to | Section 7.1 of [HTTP]), the QUERY method is used to ask the server to | |||
perform a query operation (described by the request content) over | perform a query operation (described by the request content) over | |||
some set of data scoped to the target URI. The content returned in | some set of data at the resource. The content returned in response | |||
response to a QUERY cannot be assumed to be a representation of the | to a QUERY cannot be assumed to be a representation of the resource | |||
resource identified by the target URI. | identified by the target URI. | |||
The content of the request and it's media type define the query. | The content of the request and it's media type define the query. | |||
Implementations MAY use a request content of any media type with the | Implementations MAY use a request content of any media type with the | |||
QUERY method, provided that it has appropriate query semantics. | QUERY method, provided that it has appropriate query semantics. | |||
As for all HTTP methods in general, the target URI's query part takes | As for all HTTP methods in general, the target URI's query part takes | |||
part in identifying the resource being queried and therefore is not | part in identifying the resource being queried and therefore is not | |||
part of the actual query. Whether and how the URI's query part | part of the actual query. Whether and how the URI's query part | |||
directly affects the result of the query is implementation specific | directly affects the result of the query is implementation specific | |||
and out of scope for this specification. | and out of scope for this specification. | |||
QUERY requests are both safe and idempotent with regard to the | QUERY requests are both safe and idempotent with regard to the | |||
resource identified by the request URI. That is, QUERY requests do | resource identified by the request URI. That is, QUERY requests do | |||
not alter the state of the targeted resource. However, while | not alter the state of the identified resource. However, while | |||
processing a QUERY request, a server can be expected to allocate | processing a QUERY request, a server can be expected to allocate | |||
computing and memory resources or even create additional HTTP | computing and memory resources or even create additional HTTP | |||
resources through which the response can be retrieved. | resources through which the response can be retrieved. | |||
A successful response to a QUERY request is expected to provide some | A successful response to a QUERY request is expected to provide some | |||
indication as to the final disposition of the operation. For | indication as to the final disposition of the operation. For | |||
instance, a successful query that yields no results can be | instance, a successful query that yields no results can be | |||
represented by a 204 (No Content) response. If the response includes | represented by a 204 (No Content) response. If the response includes | |||
content, it is expected to describe the results of the operation. | content, it is expected to describe the results of the operation. | |||
2.1. Content-Location and Location Fields | 2.1. Content-Location and Location Fields | |||
Furthermore, a successful response (2xx, Section 15.3 of [HTTP]) can | A successful response (2xx, Section 15.3 of [HTTP]) can include a | |||
include a Content-Location header field containing an identifier for | Content-Location header field containing an identifier for a resource | |||
a resource corresponding to the results of the operation; see | corresponding to the results of the operation; see Section 8.7 of | |||
Section 8.7 of [HTTP] for details. This represents a claim from the | [HTTP] for details. This represents a claim from the server that a | |||
server that a client can send a GET request for the indicated URI to | client can send a GET request for the indicated URI to retrieve the | |||
retrieve the results of the query operation just performed. The | results of the query operation just performed. The indicated | |||
indicated resource might be temporary. | resource might be temporary. | |||
A server can create or locate a resource that identifies the query | A server can create or locate a resource that identifies the query | |||
operation for future use. If the server does so, the URI of the | operation for future use. If the server does so, the URI of the | |||
resource can be included in the Location header field of the 2xx | resource can be included in the Location header field of the 2xx | |||
response (see Section 10.2.2 of [HTTP]). This represents a claim | response (see Section 10.2.2 of [HTTP]). This represents a claim | |||
that a client can send a GET request to the indicated URI to repeat | that a client can send a GET request to the indicated URI to repeat | |||
the query operation just performed without resending the query | the query operation just performed without resending the query | |||
content. This resource might be temporary; if a future request | content. This resource might be temporary; if a future request | |||
fails, the client can retry using the original QUERY resource and the | fails, the client can retry using the original QUERY resource and the | |||
previously submitted content. | previously submitted content. | |||
2.2. Redirection | 2.2. Redirection | |||
In some cases, the server may choose to respond indirectly to the | In some cases, the server may choose to respond indirectly to the | |||
QUERY request by redirecting the user agent to a different URI (see | QUERY request by redirecting the user agent to a different URI (see | |||
Section 15.4 of [HTTP]). The semantics of the redirect response do | Section 15.4 of [HTTP]). The semantics of the redirect response do | |||
not differ from other methods. For instance, a 303 (See Other) | not differ from other methods. | |||
response would indicate that the Location field identifies an | ||||
alternate URI from which the results can be retrieved using a GET | For instance, a 303 (See Other) response would indicate that the | |||
request (this use case is also covered by the use of the Location | Location field identifies an alternate URI from which the results can | |||
response field in a 2xx response). On the other hand, response codes | be retrieved using a GET request (this use case is also covered by | |||
307 (Temporary Redirect) and 308 (Permanent Redirect) can be used to | the use of the Location response field in a 2xx response). | |||
request the user agent to redo the QUERY request on the URI specified | ||||
by the Location field. Various non-normative examples of successful | On the other hand, response codes 307 (Temporary Redirect) and 308 | |||
QUERY responses are illustrated in Appendix A. | (Permanent Redirect) can be used to request the user agent to redo | |||
the QUERY request on the URI specified by the Location field. | ||||
Various non-normative examples of successful QUERY responses are | ||||
illustrated in Appendix A. | ||||
2.3. Conditional Requests | 2.3. Conditional Requests | |||
A conditional QUERY requests that the selected representation (i.e., | A conditional QUERY requests that the selected representation (i.e., | |||
the query results, after any content negotiation) be returned in the | the query results, after any content negotiation) be returned in the | |||
response only under the circumstances described by the conditional | response only under the circumstances described by the conditional | |||
header field(s), as defined in Section 13 of [HTTP]. | header field(s), as defined in Section 13 of [HTTP]. | |||
2.4. Caching | 2.4. Caching | |||
The response to a QUERY method is cacheable; a cache MAY use it to | The response to a QUERY method is cacheable; a cache MAY use it to | |||
satisfy subsequent QUERY requests as per Section 4 of | satisfy subsequent QUERY requests as per Section 4 of | |||
[HTTP-CACHING]). | [HTTP-CACHING]). | |||
The cache key for a query (see Section 2 of [HTTP-CACHING]) MUST | The cache key for a QUERY request (see Section 2 of [HTTP-CACHING]) | |||
incorporate the request content. When doing so, caches SHOULD first | MUST incorporate the request content. When doing so, caches SHOULD | |||
normalize request content to remove semantically insignificant | first normalize request content to remove semantically insignificant | |||
differences, thereby improving cache efficiency, by: | differences, thereby improving cache efficiency, by: | |||
o Removing content encoding(s) (Section 8.4 of [HTTP]). | o Removing content encoding(s) (Section 8.4 of [HTTP]). | |||
o Normalizing based upon knowledge of format conventions, as | o Normalizing based upon knowledge of format conventions, as | |||
indicated by any media subtype suffix in the request's Content- | indicated by any media subtype suffix in the request's Content- | |||
Type field (e.g., "+json", see Section 4.2.8 of [RFC6838]). | Type field (e.g., "+json", see Section 4.2.8 of [RFC6838]). | |||
o Normalizing based upon knowledge of the semantics of the content | o Normalizing based upon knowledge of the semantics of the content | |||
itself, as indicated by the request's Content-Type field. | itself, as indicated by the request's Content-Type field. | |||
skipping to change at page 8, line 30 ¶ | skipping to change at page 8, line 35 ¶ | |||
of [STRUCTURED-FIELDS]. | of [STRUCTURED-FIELDS]. | |||
4. Security Considerations | 4. Security Considerations | |||
The QUERY method is subject to the same general security | The QUERY method is subject to the same general security | |||
considerations as all HTTP methods as described in [HTTP]. | considerations as all HTTP methods as described in [HTTP]. | |||
It can be used as an alternative to passing request information in | It can be used as an alternative to passing request information in | |||
the URI (e.g., in the query component). This is preferred in some | the URI (e.g., in the query component). This is preferred in some | |||
cases, as the URI is more likely to be logged or otherwise processed | cases, as the URI is more likely to be logged or otherwise processed | |||
by intermediaries than the request content. | by intermediaries than the request content. In other cases, where | |||
the query contains sensitive information, the potential for logging | ||||
of the URI might motivate the use of QUERY over GET. | ||||
If a server creates a temporary resource to represent the results of | If a server creates a temporary resource to represent the results of | |||
a QUERY request (e.g., for use in the Location or Content-Location | a QUERY request (e.g., for use in the Location or Content-Location | |||
field) and the request contains sensitive information that cannot be | field) and the request contains sensitive information that cannot be | |||
logged, then the URI of this resource SHOULD be chosen such that it | logged, then the URI of this resource SHOULD be chosen such that it | |||
does not include any sensitive portions of the original request | does not include any sensitive portions of the original request | |||
content. | content. | |||
Caches that normalize QUERY content incorrectly or in ways that are | Caches that normalize QUERY content incorrectly or in ways that are | |||
significantly different from how the resource processes the content | significantly different from how the resource processes the content | |||
can return the incorrect response if normalization results in a false | can return an incorrect response if normalization results in a false | |||
positive. | positive. | |||
A QUERY request from user agents implementing CORS (Cross-Origin | A QUERY request from user agents implementing CORS (Cross-Origin | |||
Resource Sharing) will require a "preflight" request, as QUERY does | Resource Sharing) will require a "preflight" request, as QUERY does | |||
not belong to the set of CORS-safelisted methods (see "Methods | not belong to the set of CORS-safelisted methods (see "Methods | |||
(https://fetch.spec.whatwg.org/#methods)" in [FETCH]). | (https://fetch.spec.whatwg.org/#methods)" in [FETCH]). | |||
5. IANA Considerations | 5. IANA Considerations | |||
5.1. Registration of QUERY method | 5.1. Registration of QUERY method | |||
IANA is requested to add the QUERY method to the HTTP Method Registry | IANA is requested to add the QUERY method to the HTTP Method Registry | |||
at <http://www.iana.org/assignments/http-methods> (see Section 16.3.1 | at <http://www.iana.org/assignments/http-methods> (see Section 16.3.1 | |||
of [HTTP]). | of [HTTP]). | |||
+-------------+------+------------+---------------+ | +-------------+------+------------+---------------+ | |||
| Method Name | Safe | Idempotent | Specification | | | Method Name | Safe | Idempotent | Specification | | |||
+-------------+------+------------+---------------+ | +-------------+------+------------+---------------+ | |||
| QUERY | Yes | Yes | Section 2 | | | QUERY | Yes | Yes | Section 2 | | |||
skipping to change at page 10, line 49 ¶ | skipping to change at page 11, line 8 ¶ | |||
[XSLT] Kay, M., "XSL Transformations (XSLT) Version 3.0", W3C | [XSLT] Kay, M., "XSL Transformations (XSLT) Version 3.0", W3C | |||
Recommendation REC-xslt-30-20170608, June 8, 2017, | Recommendation REC-xslt-30-20170608, June 8, 2017, | |||
<https://www.w3.org/TR/2017/REC-xslt-30-20170608/>. | <https://www.w3.org/TR/2017/REC-xslt-30-20170608/>. | |||
Latest version available at | Latest version available at | |||
<https://www.w3.org/TR/xslt-30/>. | <https://www.w3.org/TR/xslt-30/>. | |||
Appendix A. Examples | Appendix A. Examples | |||
The examples below are for illustrative purposes only; if one needs | The examples below are for illustrative purposes only; if one needs | |||
to send queries that are actually this short, it is probably better | to send queries that are actually this short, it is likely better to | |||
to use GET. | use GET. | |||
The media type used in most examples is "application/x-www-form- | The media type used in most examples is "application/x-www-form- | |||
urlencoded" (as used in POST requests from browser user clients, | urlencoded" (as used in POST requests from browser user clients, | |||
defined in "application/x-www-form-urlencoded | defined in "application/x-www-form-urlencoded | |||
(https://url.spec.whatwg.org/#application/x-www-form-urlencoded)" in | (https://url.spec.whatwg.org/#application/x-www-form-urlencoded)" in | |||
[URL]). The Content-Length fields have been omitted for brevity. | [URL]). The Content-Length fields have been omitted for brevity. | |||
A.1. Simple Query | A.1. Simple Query | |||
A simple query with a direct response: | A simple query with a direct response: | |||
skipping to change at page 21, line 47 ¶ | skipping to change at page 21, line 47 ¶ | |||
URI semantics (<https://github.com/httpwg/http-extensions/ | URI semantics (<https://github.com/httpwg/http-extensions/ | |||
issues/3069>) | issues/3069>) | |||
o Restrict description of Content-Location and Location semantics to | o Restrict description of Content-Location and Location semantics to | |||
2xx responses (<https://github.com/httpwg/http-extensions/ | 2xx responses (<https://github.com/httpwg/http-extensions/ | |||
issues/3070>) | issues/3070>) | |||
o Slightly rephrase semantics for Content-Location | o Slightly rephrase semantics for Content-Location | |||
(<https://github.com/httpwg/http-extensions/issues/3071>) | (<https://github.com/httpwg/http-extensions/issues/3071>) | |||
B.11. Since draft-ietf-httpbis-safe-method-w-body-10 | ||||
o Editorial nits (<https://github.com/httpwg/http-extensions/ | ||||
pull/3080>, ack martinthomson) | ||||
Acknowledgements | Acknowledgements | |||
We thank all members of the HTTP Working Group for ideas, reviews, | We thank all members of the HTTP Working Group for ideas, reviews, | |||
and feedback. | and feedback. | |||
The following individuals deserve special recognition: Carsten | The following individuals deserve special recognition: Carsten | |||
Bormann, Mark Nottingham, Martin Thomson, Michael Thornburgh, Roberto | Bormann, Mark Nottingham, Martin Thomson, Michael Thornburgh, Roberto | |||
Polli, Roy Fielding, and Will Hawkins. | Polli, Roy Fielding, and Will Hawkins. | |||
Contributors | Contributors | |||
End of changes. 20 change blocks. | ||||
37 lines changed or deleted | 50 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |