rfc9110.txt | rfc9110-to-be.txt | |||
---|---|---|---|---|
skipping to change at line 4120 ¶ | skipping to change at line 4120 ¶ | |||
For example, if the target resource is configured to always have a | For example, if the target resource is configured to always have a | |||
Content-Type of "text/html" and the representation being PUT has a | Content-Type of "text/html" and the representation being PUT has a | |||
Content-Type of "image/jpeg", the origin server ought to do one of: | Content-Type of "image/jpeg", the origin server ought to do one of: | |||
a. reconfigure the target resource to reflect the new media type; | a. reconfigure the target resource to reflect the new media type; | |||
b. transform the PUT representation to a format consistent with that | b. transform the PUT representation to a format consistent with that | |||
of the resource before saving it as the new resource state; or, | of the resource before saving it as the new resource state; or, | |||
c. reject the request with a 415 (Unsupported Media Type) response | c. reject the request with a 415 (Unsupported Media Type) response | |||
indicating that the target resource is limited to text/html, | indicating that the target resource is limited to "text/html", | |||
perhaps including a link to a different resource that would be a | perhaps including a link to a different resource that would be a | |||
suitable target for the new representation. | suitable target for the new representation. | |||
HTTP does not define exactly how a PUT method affects the state of an | HTTP does not define exactly how a PUT method affects the state of an | |||
origin server beyond what can be expressed by the intent of the user | origin server beyond what can be expressed by the intent of the user | |||
agent request and the semantics of the origin server response. It | agent request and the semantics of the origin server response. It | |||
does not define what a resource might be, in any sense of that word, | does not define what a resource might be, in any sense of that word, | |||
beyond the interface provided via HTTP. It does not define how | beyond the interface provided via HTTP. It does not define how | |||
resource state is "stored", nor how such storage might change as a | resource state is "stored", nor how such storage might change as a | |||
result of a change in resource state, nor how the origin server | result of a change in resource state, nor how the origin server | |||
skipping to change at line 6688 ¶ | skipping to change at line 6688 ¶ | |||
Implementation Notes: | Implementation Notes: | |||
1. Additional CRLFs might precede the first boundary string in the | 1. Additional CRLFs might precede the first boundary string in the | |||
body. | body. | |||
2. Although [RFC2046] permits the boundary string to be quoted, some | 2. Although [RFC2046] permits the boundary string to be quoted, some | |||
existing implementations handle a quoted boundary string | existing implementations handle a quoted boundary string | |||
incorrectly. | incorrectly. | |||
3. A number of clients and servers were coded to an early draft of | 3. A number of clients and servers were coded to an early draft of | |||
the byteranges specification that used a media type of | the byteranges specification that used a media type of multipart/ | |||
"multipart/x-byteranges", which is almost (but not quite) | x-byteranges, which is almost (but not quite) compatible with | |||
compatible with this type. | this type. | |||
Despite the name, the multipart/byteranges media type is not limited | Despite the name, the "multipart/byteranges" media type is not | |||
to byte ranges. The following example uses an "exampleunit" range | limited to byte ranges. The following example uses an "exampleunit" | |||
unit: | range unit: | |||
HTTP/1.1 206 Partial Content | HTTP/1.1 206 Partial Content | |||
Date: Tue, 14 Nov 1995 06:25:24 GMT | Date: Tue, 14 Nov 1995 06:25:24 GMT | |||
Last-Modified: Tue, 14 July 04:58:08 GMT | Last-Modified: Tue, 14 July 04:58:08 GMT | |||
Content-Length: 2331785 | Content-Length: 2331785 | |||
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES | Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES | |||
--THIS_STRING_SEPARATES | --THIS_STRING_SEPARATES | |||
Content-Type: video/example | Content-Type: video/example | |||
Content-Range: exampleunit 1.2-4.3/25 | Content-Range: exampleunit 1.2-4.3/25 | |||
skipping to change at line 7096 ¶ | skipping to change at line 7096 ¶ | |||
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT | Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT | |||
Content-Range: bytes 21010-47021/47022 | Content-Range: bytes 21010-47021/47022 | |||
Content-Length: 26012 | Content-Length: 26012 | |||
Content-Type: image/gif | Content-Type: image/gif | |||
... 26012 bytes of partial image data ... | ... 26012 bytes of partial image data ... | |||
15.3.7.2. Multiple Parts | 15.3.7.2. Multiple Parts | |||
If multiple parts are being transferred, the server generating the | If multiple parts are being transferred, the server generating the | |||
206 response MUST generate multipart/byteranges content, as defined | 206 response MUST generate "multipart/byteranges" content, as defined | |||
in Section 14.6, and a Content-Type header field containing the | in Section 14.6, and a Content-Type header field containing the | |||
multipart/byteranges media type and its required boundary parameter. | multipart/byteranges media type and its required boundary parameter. | |||
To avoid confusion with single-part responses, a server MUST NOT | To avoid confusion with single-part responses, a server MUST NOT | |||
generate a Content-Range header field in the HTTP header section of a | generate a Content-Range header field in the HTTP header section of a | |||
multiple part response (this field will be sent in each part | multiple part response (this field will be sent in each part | |||
instead). | instead). | |||
Within the header area of each body part in the multipart content, | Within the header area of each body part in the multipart content, | |||
the server MUST generate a Content-Range header field corresponding | the server MUST generate a Content-Range header field corresponding | |||
to the range being enclosed in that body part. If the selected | to the range being enclosed in that body part. If the selected | |||
skipping to change at line 9102 ¶ | skipping to change at line 9102 ¶ | |||
This specification updates the HTTP-related aspects of the existing | This specification updates the HTTP-related aspects of the existing | |||
registration procedures for message header fields defined in | registration procedures for message header fields defined in | |||
[RFC3864]. It replaces the old procedures as they relate to HTTP by | [RFC3864]. It replaces the old procedures as they relate to HTTP by | |||
defining a new registration procedure and moving HTTP field | defining a new registration procedure and moving HTTP field | |||
definitions into a separate registry. | definitions into a separate registry. | |||
IANA has created a new registry titled "Hypertext Transfer Protocol | IANA has created a new registry titled "Hypertext Transfer Protocol | |||
(HTTP) Field Name Registry" as outlined in Section 16.3.1. | (HTTP) Field Name Registry" as outlined in Section 16.3.1. | |||
IANA has moved all entries in the "Permanent Message Header Field | IANA has moved all entries in the "Permanent Message Header Field | |||
Names" and "Provisional Message Header Field Names" registries with | Names" and "Provisional Message Header Field Names" registries (see | |||
the protocol 'http' to this registry and has applied the following | <https://www.iana.org/assignments/message-headers/>) with the | |||
protocol 'http' to this registry and has applied the following | ||||
changes: | changes: | |||
1. The 'Applicable Protocol' field has been omitted. | 1. The 'Applicable Protocol' field has been omitted. | |||
2. Entries that had a status of 'standard', 'experimental', | 2. Entries that had a status of 'standard', 'experimental', | |||
'reserved', or 'informational' have been made to have a status of | 'reserved', or 'informational' have been made to have a status of | |||
'permanent'. | 'permanent'. | |||
3. Provisional entries without a status have been made to have a | 3. Provisional entries without a status have been made to have a | |||
status of 'provisional'. | status of 'provisional'. | |||
skipping to change at line 9126 ¶ | skipping to change at line 9127 ¶ | |||
registration document did not define one) have been made to have | registration document did not define one) have been made to have | |||
a status of 'provisional'. The expert(s) can choose to update | a status of 'provisional'. The expert(s) can choose to update | |||
the entries' status if there is evidence that another is more | the entries' status if there is evidence that another is more | |||
appropriate. | appropriate. | |||
IANA has annotated the "Permanent Message Header Field Names" and | IANA has annotated the "Permanent Message Header Field Names" and | |||
"Provisional Message Header Field Names" registries with the | "Provisional Message Header Field Names" registries with the | |||
following note to indicate that HTTP field name registrations have | following note to indicate that HTTP field name registrations have | |||
moved: | moved: | |||
| *Note* HTTP field name registrations have been moved to | | *Note* | |||
| | ||||
| HTTP field name registrations have been moved to | ||||
| [https://www.iana.org/assignments/http-fields] per [RFC9110]. | | [https://www.iana.org/assignments/http-fields] per [RFC9110]. | |||
IANA has updated the "Hypertext Transfer Protocol (HTTP) Field Name | IANA has updated the "Hypertext Transfer Protocol (HTTP) Field Name | |||
Registry" with the field names listed in the following table. | Registry" with the field names listed in the following table. | |||
+===========================+============+========+============+ | +===========================+============+========+============+ | |||
| Field Name | Status | Ref. | Comments | | | Field Name | Status | Ref. | Comments | | |||
+===========================+============+========+============+ | +===========================+============+========+============+ | |||
| Accept | permanent | 12.5.1 | | | | Accept | permanent | 12.5.1 | | | |||
+---------------------------+------------+--------+------------+ | +---------------------------+------------+--------+------------+ | |||
skipping to change at line 9247 ¶ | skipping to change at line 9250 ¶ | |||
http-authschemes> with the registration procedure of Section 16.4.1. | http-authschemes> with the registration procedure of Section 16.4.1. | |||
No authentication schemes are defined in this document. | No authentication schemes are defined in this document. | |||
18.6. Content Coding Registration | 18.6. Content Coding Registration | |||
IANA has updated the "HTTP Content Coding Registry" at | IANA has updated the "HTTP Content Coding Registry" at | |||
<https://www.iana.org/assignments/http-parameters/> with the | <https://www.iana.org/assignments/http-parameters/> with the | |||
registration procedure of Section 16.6.1 and the content coding names | registration procedure of Section 16.6.1 and the content coding names | |||
summarized in the table below. | summarized in the table below. | |||
+============+===========================================+=========+ | +============+=========================================+=========+ | |||
| Name | Description | Ref. | | | Name | Description | Ref. | | |||
+============+===========================================+=========+ | +============+=========================================+=========+ | |||
| compress | UNIX "compress" data format [Welch] | 8.4.1.1 | | | compress | UNIX "compress" data format [Welch] | 8.4.1.1 | | |||
+------------+-------------------------------------------+---------+ | +------------+-----------------------------------------+---------+ | |||
| deflate | "deflate" compressed data ([RFC1951]) | 8.4.1.2 | | | deflate | "deflate" compressed data [RFC1951] | 8.4.1.2 | | |||
| | inside the "zlib" data format ([RFC1950]) | | | | | inside the "zlib" data format [RFC1950] | | | |||
+------------+-------------------------------------------+---------+ | +------------+-----------------------------------------+---------+ | |||
| gzip | GZIP file format [RFC1952] | 8.4.1.3 | | | gzip | GZIP file format [RFC1952] | 8.4.1.3 | | |||
+------------+-------------------------------------------+---------+ | +------------+-----------------------------------------+---------+ | |||
| identity | Reserved | 12.5.3 | | | identity | Reserved | 12.5.3 | | |||
+------------+-------------------------------------------+---------+ | +------------+-----------------------------------------+---------+ | |||
| x-compress | Deprecated (alias for compress) | 8.4.1.1 | | | x-compress | Deprecated (alias for compress) | 8.4.1.1 | | |||
+------------+-------------------------------------------+---------+ | +------------+-----------------------------------------+---------+ | |||
| x-gzip | Deprecated (alias for gzip) | 8.4.1.3 | | | x-gzip | Deprecated (alias for gzip) | 8.4.1.3 | | |||
+------------+-------------------------------------------+---------+ | +------------+-----------------------------------------+---------+ | |||
Table 10 | Table 10 | |||
18.7. Range Unit Registration | 18.7. Range Unit Registration | |||
IANA has updated the "HTTP Range Unit Registry" at | IANA has updated the "HTTP Range Unit Registry" at | |||
<https://www.iana.org/assignments/http-parameters/> with the | <https://www.iana.org/assignments/http-parameters/> with the | |||
registration procedure of Section 16.5.1 and the range unit names | registration procedure of Section 16.5.1 and the range unit names | |||
summarized in the table below. | summarized in the table below. | |||
+=================+==================================+========+ | +=================+==================================+========+ | |||
| Range Unit Name | Description | Ref. | | | Range Unit Name | Description | Ref. | | |||
skipping to change at line 9540 ¶ | skipping to change at line 9543 ¶ | |||
[RFC2145] Mogul, J. C., Fielding, R., Gettys, J., and H. Frystyk, | [RFC2145] Mogul, J. C., Fielding, R., Gettys, J., and H. Frystyk, | |||
"Use and Interpretation of HTTP Version Numbers", | "Use and Interpretation of HTTP Version Numbers", | |||
RFC 2145, DOI 10.17487/RFC2145, May 1997, | RFC 2145, DOI 10.17487/RFC2145, May 1997, | |||
<https://www.rfc-editor.org/info/rfc2145>. | <https://www.rfc-editor.org/info/rfc2145>. | |||
[RFC2295] Holtman, K. and A. Mutz, "Transparent Content Negotiation | [RFC2295] Holtman, K. and A. Mutz, "Transparent Content Negotiation | |||
in HTTP", RFC 2295, DOI 10.17487/RFC2295, March 1998, | in HTTP", RFC 2295, DOI 10.17487/RFC2295, March 1998, | |||
<https://www.rfc-editor.org/info/rfc2295>. | <https://www.rfc-editor.org/info/rfc2295>. | |||
[RFC2324] Masinter, L., "Hyper Text Coffee Pot Control Protocol | [RFC2324] Masinter, L., "Hyper Text Coffee Pot Control Protocol | |||
(HTCPCP/1.0)", RFC 2324, DOI 10.17487/RFC2324, 1 April | (HTCPCP/1.0)", RFC 2324, DOI 10.17487/RFC2324, April 1998, | |||
1998, <https://www.rfc-editor.org/info/rfc2324>. | <https://www.rfc-editor.org/info/rfc2324>. | |||
[RFC2557] Palme, J., Hopmann, A., and N. Shelness, "MIME | [RFC2557] Palme, J., Hopmann, A., and N. Shelness, "MIME | |||
Encapsulation of Aggregate Documents, such as HTML | Encapsulation of Aggregate Documents, such as HTML | |||
(MHTML)", RFC 2557, DOI 10.17487/RFC2557, March 1999, | (MHTML)", RFC 2557, DOI 10.17487/RFC2557, March 1999, | |||
<https://www.rfc-editor.org/info/rfc2557>. | <https://www.rfc-editor.org/info/rfc2557>. | |||
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | |||
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | |||
Transfer Protocol -- HTTP/1.1", RFC 2616, | Transfer Protocol -- HTTP/1.1", RFC 2616, | |||
DOI 10.17487/RFC2616, June 1999, | DOI 10.17487/RFC2616, June 1999, | |||
skipping to change at line 10034 ¶ | skipping to change at line 10037 ¶ | |||
The fact that request bodies on GET, HEAD, and DELETE are not | The fact that request bodies on GET, HEAD, and DELETE are not | |||
interoperable has been clarified (Sections 9.3.1, 9.3.2, and 9.3.5). | interoperable has been clarified (Sections 9.3.1, 9.3.2, and 9.3.5). | |||
The use of the Content-Range header field (Section 14.4) as a request | The use of the Content-Range header field (Section 14.4) as a request | |||
modifier on PUT is allowed (Section 9.3.4). | modifier on PUT is allowed (Section 9.3.4). | |||
A superfluous requirement about setting Content-Length has been | A superfluous requirement about setting Content-Length has been | |||
removed from the description of the OPTIONS method (Section 9.3.7). | removed from the description of the OPTIONS method (Section 9.3.7). | |||
The normative requirement to use the message/http media type in TRACE | The normative requirement to use the "message/http" media type in | |||
responses has been removed (Section 9.3.8). | TRACE responses has been removed (Section 9.3.8). | |||
List-based grammar for Expect has been restored for compatibility | List-based grammar for Expect has been restored for compatibility | |||
with RFC 2616 (Section 10.1.1). | with RFC 2616 (Section 10.1.1). | |||
Accept and Accept-Encoding are allowed in response messages; the | Accept and Accept-Encoding are allowed in response messages; the | |||
latter was introduced by [RFC7694] (Section 12.3). | latter was introduced by [RFC7694] (Section 12.3). | |||
"Accept Parameters" (accept-params and accept-ext ABNF production) | "Accept Parameters" (accept-params and accept-ext ABNF production) | |||
have been removed from the definition of the Accept field | have been removed from the definition of the Accept field | |||
(Section 12.5.1). | (Section 12.5.1). | |||
End of changes. 10 change blocks. | ||||
32 lines changed or deleted | 35 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/ |