rfc9110v21.xml | rfc9110.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!-- [CS] updated by Chris 10/01/21 --> | ||||
<!-- draft submitted in xml v3 --> | ||||
<!-- [auth] | ||||
This XML document is the output of clean-for-DTD.xslt; a tool that strips | ||||
extensions to RFC 7749 from documents for processing with xml2rfc. | ||||
<!-- [auth] TARGET-GENERATOR: 202007--> | ||||
<!-- [auth] TARGET-VOCABULARY: 3--> | ||||
<!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
<!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
]> | ]> | |||
<rfc version="3" | <rfc version="3" | |||
tocDepth="4" | tocDepth="4" | |||
tocInclude="true" | tocInclude="true" | |||
skipping to change at line 37 ¶ | skipping to change at line 26 ¶ | |||
category="std" | category="std" | |||
consensus="true" | consensus="true" | |||
xmlns:xi="http://www.w3.org/2001/XInclude" | xmlns:xi="http://www.w3.org/2001/XInclude" | |||
xml:lang="en" | xml:lang="en" | |||
ipr="pre5378Trust200902" | ipr="pre5378Trust200902" | |||
obsoletes="2818, 7230, 7231, 7232, 7233, 7235, 7538, 7615, 7694" | obsoletes="2818, 7230, 7231, 7232, 7233, 7235, 7538, 7615, 7694" | |||
updates="3864" | updates="3864" | |||
docName="draft-ietf-httpbis-semantics-19" | docName="draft-ietf-httpbis-semantics-19" | |||
number="9110"> | number="9110"> | |||
<!-- [auth] see https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/420--> | ||||
<!-- FYI The authors added these silencers due to issue #420. | ||||
I have commented them out and everything seems to be working. | ||||
<!-- | ||||
<?v3xml2rfc silence="Warning: Setting consensus="true" for IETF STD document"?> | ||||
<?v3xml2rfc silence="Warning: Expected a valid submissionType (stream) setting"?> | ||||
<front> | <front> | |||
<title>HTTP Semantics</title> | <title>HTTP Semantics</title> | |||
<seriesInfo name="RFC" value="9110"/> | <seriesInfo name="RFC" value="9110"/> | |||
<seriesInfo name="STD" value="97"/> | <seriesInfo name="STD" value="97"/> | |||
<author fullname="Roy T. Fielding" | <author fullname="Roy T. Fielding" | |||
initials="R." | initials="R." | |||
surname="Fielding" | surname="Fielding" | |||
role="editor"> | role="editor"> | |||
<organization>Adobe</organization> | <organization>Adobe</organization> | |||
skipping to change at line 1035 ¶ | skipping to change at line 1016 ¶ | |||
IANA maintains the registry of URI Schemes <xref target="BCP35"/> at | IANA maintains the registry of URI Schemes <xref target="BCP35"/> at | |||
<eref target="https://www.iana.org/assignments/uri-schemes/" brackets="angle"/>. | <eref target="https://www.iana.org/assignments/uri-schemes/" brackets="angle"/>. | |||
Although requests might target any URI scheme, the following schemes are | Although requests might target any URI scheme, the following schemes are | |||
inherent to HTTP servers: | inherent to HTTP servers: | |||
</t> | </t> | |||
<table align="left" anchor="uri.scheme.table"> | <table align="left" anchor="uri.scheme.table"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>URI Scheme</th> | <th>URI Scheme</th> | |||
<th>Description</th> | <th>Description</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>http</td> | <td>http</td> | |||
<td>Hypertext Transfer Protocol</td> | <td>Hypertext Transfer Protocol</td> | |||
<td> | <td> | |||
<xref target="http.uri" format="counter"/> | <xref target="http.uri" format="counter"/> | |||
</td> | </td> | |||
</tr> | </tr> | |||
skipping to change at line 1181 ¶ | skipping to change at line 1162 ¶ | |||
<li>The scheme and host are case-insensitive and normally provided in | <li>The scheme and host are case-insensitive and normally provided in | |||
lowercase; all other components are compared in a case-sensitive | lowercase; all other components are compared in a case-sensitive | |||
manner.</li> | manner.</li> | |||
<li>Characters other than those in the "reserved" set are equivalent to | <li>Characters other than those in the "reserved" set are equivalent to | |||
their percent-encoded octets: the normal form is to not encode them (see | their percent-encoded octets: the normal form is to not encode them (see | |||
Sections <xref target="URI" sectionFormat="bare" section="2.1"/> and <xref target="URI" sectionFormat="bare" section="2.2"/> of <xref target="URI"/>).</li> | Sections <xref target="URI" sectionFormat="bare" section="2.1"/> and <xref target="URI" sectionFormat="bare" section="2.2"/> of <xref target="URI"/>).</li> | |||
</ul> | </ul> | |||
<t> | <t> | |||
For example, the following three URIs are equivalent: | For example, the following three URIs are equivalent: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
http://example.com:80/~smith/home.html | http://example.com:80/~smith/home.html | |||
http://EXAMPLE.com/%7Esmith/home.html | http://EXAMPLE.com/%7Esmith/home.html | |||
http://EXAMPLE.com:/%7esmith/home.html | http://EXAMPLE.com:/%7esmith/home.html | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
Two HTTP URIs that are equivalent after normalization (using any method) | Two HTTP URIs that are equivalent after normalization (using any method) | |||
can be assumed to identify the same resource, and any HTTP component <bcp14>MAY</bcp14> | can be assumed to identify the same resource, and any HTTP component <bcp14>MAY</bcp14> | |||
perform normalization. As a result, distinct resources <bcp14>SHOULD NOT</bcp14> be | perform normalization. As a result, distinct resources <bcp14>SHOULD NOT</bcp14> be | |||
identified by HTTP URIs that are equivalent after normalization (using any | identified by HTTP URIs that are equivalent after normalization (using any | |||
method defined in <xref target="URI" section="6.2"/>). | method defined in <xref target="URI" section="6.2"/>). | |||
skipping to change at line 1269 ¶ | skipping to change at line 1250 ¶ | |||
</t> | </t> | |||
<section anchor="origin" title="URI Origin"> | <section anchor="origin" title="URI Origin"> | |||
<iref primary="true" item="origin"/> | <iref primary="true" item="origin"/> | |||
<iref primary="true" item="URI" subitem="origin"/> | <iref primary="true" item="URI" subitem="origin"/> | |||
<t> | <t> | |||
The "origin" for a given URI is the triple of scheme, host, | The "origin" for a given URI is the triple of scheme, host, | |||
and port after normalizing the scheme and host to lowercase and | and port after normalizing the scheme and host to lowercase and | |||
normalizing the port to remove any leading zeros. If port is elided from | normalizing the port to remove any leading zeros. If port is elided from | |||
the URI, the default port for that scheme is used. For example, the URI | the URI, the default port for that scheme is used. For example, the URI | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
https://Example.Com/happy.js | https://Example.Com/happy.js | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
would have the origin | would have the origin | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
{ "https", "example.com", "443" } | { "https", "example.com", "443" } | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
which can also be described as the normalized URI prefix with port always | which can also be described as the normalized URI prefix with port always | |||
present: | present: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
https://example.com:443 | https://example.com:443 | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
Each origin defines its own namespace and controls how identifiers | Each origin defines its own namespace and controls how identifiers | |||
within that namespace are mapped to resources. In turn, how the origin | within that namespace are mapped to resources. In turn, how the origin | |||
responds to valid requests, consistently over time, determines the | responds to valid requests, consistently over time, determines the | |||
semantics that users will associate with a URI, and the usefulness of | semantics that users will associate with a URI, and the usefulness of | |||
those semantics is what ultimately transforms these mechanisms into a | those semantics is what ultimately transforms these mechanisms into a | |||
resource for users to reference and access in the future. | resource for users to reference and access in the future. | |||
</t> | </t> | |||
skipping to change at line 1764 ¶ | skipping to change at line 1745 ¶ | |||
at least <n> and at most <m> elements, each separated by a single | at least <n> and at most <m> elements, each separated by a single | |||
comma (",") and optional whitespace (<xref target="whitespace" format="none">OWS</xref> , | comma (",") and optional whitespace (<xref target="whitespace" format="none">OWS</xref> , | |||
defined in <xref target="whitespace"/>). | defined in <xref target="whitespace"/>). | |||
</t> | </t> | |||
<section anchor="abnf.extension.sender" title="Sender Requirements"> | <section anchor="abnf.extension.sender" title="Sender Requirements"> | |||
<t> | <t> | |||
In any production that uses the list construct, a sender <bcp14>MUST NOT</bcp14> | In any production that uses the list construct, a sender <bcp14>MUST NOT</bcp14> | |||
generate empty list elements. In other words, a sender has to generate | generate empty list elements. In other words, a sender has to generate | |||
lists that satisfy the following syntax: | lists that satisfy the following syntax: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
1#element => element *( OWS "," OWS element ) | 1#element => element *( OWS "," OWS element ) | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
and: | and: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
#element => [ 1#element ] | #element => [ 1#element ] | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
and for n >= 1 and m > 1: | and for n >= 1 and m > 1: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
<n>#<m>element => element <n-1>*<m-1>( OWS "," OWS element ) | <n>#<m>element => element <n-1>*<m-1>( OWS "," OWS element ) | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
<xref target="collected.abnf"/> shows the collected ABNF for senders | <xref target="collected.abnf"/> shows the collected ABNF for senders | |||
after the list constructs have been expanded. | after the list constructs have been expanded. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="abnf.extension.recipient" title="Recipient Requirements"> | <section anchor="abnf.extension.recipient" title="Recipient Requirements"> | |||
<t> | <t> | |||
Empty elements do not contribute to the count of elements present. | Empty elements do not contribute to the count of elements present. | |||
A recipient <bcp14>MUST</bcp14> parse and ignore | A recipient <bcp14>MUST</bcp14> parse and ignore | |||
a reasonable number of empty list elements: enough to handle common mistakes | a reasonable number of empty list elements: enough to handle common mistakes | |||
by senders that merge values, but not so much that they could be used as a | by senders that merge values, but not so much that they could be used as a | |||
denial-of-service mechanism. In other words, a recipient <bcp14>MUST</bcp14> accept lis ts | denial-of-service mechanism. In other words, a recipient <bcp14>MUST</bcp14> accept lis ts | |||
that satisfy the following syntax: | that satisfy the following syntax: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
#element => [ element ] *( OWS "," OWS [ element ] ) | #element => [ element ] *( OWS "," OWS [ element ] ) | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
Note that because of the potential presence of empty list elements, the | Note that because of the potential presence of empty list elements, the | |||
RFC 5234 ABNF cannot enforce the cardinality of list elements, and | RFC 5234 ABNF cannot enforce the cardinality of list elements, and | |||
consequently all cases are mapped as if there was no cardinality specified. | consequently all cases are mapped as if there was no cardinality specified. | |||
</t> | </t> | |||
<t> | <t> | |||
For example, given these ABNF productions: | For example, given these ABNF productions: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
example-list = 1#example-list-elmt | example-list = 1#example-list-elmt | |||
example-list-elmt = token ; see Section 5.6.2 | example-list-elmt = token ; see Section 5.6.2 | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
Then the following are valid values for example-list (not including the | Then the following are valid values for example-list (not including the | |||
double quotes, which are present for delimitation only): | double quotes, which are present for delimitation only): | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
"foo,bar" | "foo,bar" | |||
"foo ,bar," | "foo ,bar," | |||
"foo , ,bar,charlie" | "foo , ,bar,charlie" | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
In contrast, the following values would be invalid, since at least one | In contrast, the following values would be invalid, since at least one | |||
non-empty element is required by the example-list production: | non-empty element is required by the example-list production: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
"" | "" | |||
"," | "," | |||
", ," | ", ," | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="tokens" title="Tokens"> | <section anchor="tokens" title="Tokens"> | |||
<t anchor="rule.token.separators"> | <t anchor="rule.token.separators"> | |||
Tokens are short textual identifiers that do not include whitespace or | Tokens are short textual identifiers that do not include whitespace or | |||
skipping to change at line 1989 ¶ | skipping to change at line 1970 ¶ | |||
three are defined here. The preferred format is a fixed-length and | three are defined here. The preferred format is a fixed-length and | |||
single-zone subset of the date and time specification used by the | single-zone subset of the date and time specification used by the | |||
Internet Message Format <xref target="RFC5322"/>. | Internet Message Format <xref target="RFC5322"/>. | |||
</t> | </t> | |||
<iref primary="true" item="Grammar" subitem="HTTP-date"/> | <iref primary="true" item="Grammar" subitem="HTTP-date"/> | |||
<sourcecode type="abnf9110"><![CDATA[ HTTP-date = IMF-fixdate / obs-dat e | <sourcecode type="abnf9110"><![CDATA[ HTTP-date = IMF-fixdate / obs-dat e | |||
]]></sourcecode> | ]]></sourcecode> | |||
<t> | <t> | |||
An example of the preferred format is | An example of the preferred format is | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
Sun, 06 Nov 1994 08:49:37 GMT ; IMF-fixdate | Sun, 06 Nov 1994 08:49:37 GMT ; IMF-fixdate | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
Examples of the two obsolete formats are | Examples of the two obsolete formats are | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format | Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format | |||
Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format | Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
A recipient that parses a timestamp value in an HTTP field <bcp14>MUST</bcp14> | A recipient that parses a timestamp value in an HTTP field <bcp14>MUST</bcp14> | |||
accept all three HTTP-date formats. When a sender generates a field | accept all three HTTP-date formats. When a sender generates a field | |||
that contains one or more timestamps defined as HTTP-date, | that contains one or more timestamps defined as HTTP-date, | |||
the sender <bcp14>MUST</bcp14> generate those timestamps in the IMF-fixdate format. | the sender <bcp14>MUST</bcp14> generate those timestamps in the IMF-fixdate format. | |||
</t> | </t> | |||
<t> | <t> | |||
skipping to change at line 3269 ¶ | skipping to change at line 3250 ¶ | |||
either provided as the content of the message or | either provided as the content of the message or | |||
referred to by the message semantics and the target | referred to by the message semantics and the target | |||
URI. The representation data is in a format and encoding defined by | URI. The representation data is in a format and encoding defined by | |||
the representation metadata header fields. | the representation metadata header fields. | |||
</t> | </t> | |||
<t> | <t> | |||
The data type of the representation data is determined via the header fields | The data type of the representation data is determined via the header fields | |||
<xref target="field.content-type" format="none">Content-Type</xref> and <xref target="f ield.content-encoding" format="none">Content-Encoding</xref>. | <xref target="field.content-type" format="none">Content-Type</xref> and <xref target="f ield.content-encoding" format="none">Content-Encoding</xref>. | |||
These define a two-layer, ordered encoding model: | These define a two-layer, ordered encoding model: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
representation-data := Content-Encoding( Content-Type( data ) ) | representation-data := Content-Encoding( Content-Type( data ) ) | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="representation.metadata" title="Representation Metadata"> | <section anchor="representation.metadata" title="Representation Metadata"> | |||
<t> | <t> | |||
Representation header fields provide metadata about the representation. | Representation header fields provide metadata about the representation. | |||
When a message includes content, the representation header fields | When a message includes content, the representation header fields | |||
describe how to interpret that data. In a response to a HEAD request, the | describe how to interpret that data. In a response to a HEAD request, the | |||
representation header fields describe the representation data that would | representation header fields describe the representation data that would | |||
have been enclosed in the content if the same request had been a GET. | have been enclosed in the content if the same request had been a GET. | |||
skipping to change at line 3370 ¶ | skipping to change at line 3351 ¶ | |||
type registry. | type registry. | |||
Parameter values might or might not be case-sensitive, depending on the | Parameter values might or might not be case-sensitive, depending on the | |||
semantics of the parameter name. | semantics of the parameter name. | |||
</t> | </t> | |||
<t> | <t> | |||
For example, the following media types are equivalent in describing HTML | For example, the following media types are equivalent in describing HTML | |||
text data encoded in the UTF-8 character encoding scheme, but the first is | text data encoded in the UTF-8 character encoding scheme, but the first is | |||
preferred for consistency (the "charset" parameter value is defined as | preferred for consistency (the "charset" parameter value is defined as | |||
being case-insensitive in <xref target="RFC2046" sectionFormat="comma" section="4.1.2"/ >): | being case-insensitive in <xref target="RFC2046" sectionFormat="comma" section="4.1.2"/ >): | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
text/html;charset=utf-8 | text/html;charset=utf-8 | |||
Text/HTML;Charset="utf-8" | Text/HTML;Charset="utf-8" | |||
text/html; charset="utf-8" | text/html; charset="utf-8" | |||
text/html;charset=UTF-8 | text/html;charset=UTF-8 | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
Media types ought to be registered with IANA according to the | Media types ought to be registered with IANA according to the | |||
procedures defined in <xref target="BCP13"/>. | procedures defined in <xref target="BCP13"/>. | |||
</t> | </t> | |||
</section> | </section> | |||
skipping to change at line 3624 ¶ | skipping to change at line 3605 ¶ | |||
<t> | <t> | |||
A language tag is a sequence of one or more case-insensitive subtags, each | A language tag is a sequence of one or more case-insensitive subtags, each | |||
separated by a hyphen character ("-", %x2D). In most cases, a language tag | separated by a hyphen character ("-", %x2D). In most cases, a language tag | |||
consists of a primary language subtag that identifies a broad family of | consists of a primary language subtag that identifies a broad family of | |||
related languages (e.g., "en" = English), which is optionally followed by a | related languages (e.g., "en" = English), which is optionally followed by a | |||
series of subtags that refine or narrow that language's range (e.g., | series of subtags that refine or narrow that language's range (e.g., | |||
"en-CA" = the variety of English as communicated in Canada). | "en-CA" = the variety of English as communicated in Canada). | |||
Whitespace is not allowed within a language tag. | Whitespace is not allowed within a language tag. | |||
Example tags include: | Example tags include: | |||
</t> | </t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
fr, en-US, es-419, az-Arab, x-pig-latin, man-Nkoo-GN | fr, en-US, es-419, az-Arab, x-pig-latin, man-Nkoo-GN | |||
]]></artwork> | ]]></artwork> | |||
<t> | <t> | |||
See <xref target="RFC5646"/> for further information. | See <xref target="RFC5646"/> for further information. | |||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="field.content-length" title="Content-Length"> | <section anchor="field.content-length" title="Content-Length"> | |||
<iref primary="true" item="Fields" subitem="Content-Length"/> | <iref primary="true" item="Fields" subitem="Content-Length"/> | |||
<iref primary="true" item="Header Fields" subitem="Content-Length"/> | <iref primary="true" item="Header Fields" subitem="Content-Length"/> | |||
skipping to change at line 4335 ¶ | skipping to change at line 4316 ¶ | |||
</t> | </t> | |||
<t> | <t> | |||
This specification defines a number of standardized methods that are | This specification defines a number of standardized methods that are | |||
commonly used in HTTP, as outlined by the following table. | commonly used in HTTP, as outlined by the following table. | |||
</t> | </t> | |||
<table align="left" anchor="table.of.methods"> | <table align="left" anchor="table.of.methods"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Method Name</th> | <th>Method Name</th> | |||
<th>Description</th> | <th>Description</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>GET</td> | <td>GET</td> | |||
<td>Transfer a current representation of the target resource.</td> | <td>Transfer a current representation of the target resource.</td> | |||
<td> | <td> | |||
<xref target="GET" format="counter"/> | <xref target="GET" format="counter"/> | |||
</td> | </td> | |||
</tr> | </tr> | |||
skipping to change at line 5749 ¶ | skipping to change at line 5730 ¶ | |||
<xref target="field.proxy-authenticate" format="none">Proxy-Authenticate</xref> header field containing at least one | <xref target="field.proxy-authenticate" format="none">Proxy-Authenticate</xref> header field containing at least one | |||
challenge applicable to the proxy for the requested resource. | challenge applicable to the proxy for the requested resource. | |||
</t> | </t> | |||
<iref primary="true" item="Grammar" subitem="challenge"/> | <iref primary="true" item="Grammar" subitem="challenge"/> | |||
<sourcecode type="abnf9110"><![CDATA[ challenge = auth-scheme [ 1*SP ( toke n68 / #auth-param ) ] | <sourcecode type="abnf9110"><![CDATA[ challenge = auth-scheme [ 1*SP ( toke n68 / #auth-param ) ] | |||
]]></sourcecode> | ]]></sourcecode> | |||
<aside> | <aside> | |||
<t> | <t> | |||
<strong>Note:</strong> Many clients fail to parse a challenge that conta ins an unknown | <strong>Note:</strong> Many clients fail to parse a challenge that conta ins an unknown | |||
scheme. A workaround for this problem is to list well-supported schemes | scheme. A workaround for this problem is to list well-supported schemes | |||
(such as "basic") first.<!-- [auth] see https://greenbytes.de/tech/tc/httpauth/#multi basicunknown2 --> | (such as "basic") first. | |||
</t> | </t> | |||
</aside> | </aside> | |||
<t> | <t> | |||
A user agent that wishes to authenticate itself with an origin server | A user agent that wishes to authenticate itself with an origin server | |||
-- usually, but not necessarily, after receiving a | -- usually, but not necessarily, after receiving a | |||
<xref target="status.401" format="none">401 (Unauthorized)</xref> -- can do so by inclu ding an | <xref target="status.401" format="none">401 (Unauthorized)</xref> -- can do so by inclu ding an | |||
<xref target="field.authorization" format="none">Authorization</xref> header field with the request. | <xref target="field.authorization" format="none">Authorization</xref> header field with the request. | |||
</t> | </t> | |||
<t> | <t> | |||
A client that wishes to authenticate itself with a proxy -- usually, | A client that wishes to authenticate itself with a proxy -- usually, | |||
skipping to change at line 7619 ¶ | skipping to change at line 7600 ¶ | |||
If the representation data has a content coding applied, each byte range is | If the representation data has a content coding applied, each byte range is | |||
calculated with respect to the encoded sequence of bytes, not the sequence | calculated with respect to the encoded sequence of bytes, not the sequence | |||
of underlying bytes that would be obtained after decoding. | of underlying bytes that would be obtained after decoding. | |||
</t> | </t> | |||
<t> | <t> | |||
Examples of bytes range specifiers: | Examples of bytes range specifiers: | |||
</t> | </t> | |||
<ul> | <ul> | |||
<li> | <li> | |||
<t>The first 500 bytes (byte offsets 0-499, inclusive):</t> | <t>The first 500 bytes (byte offsets 0-499, inclusive):</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes=0-499 | bytes=0-499 | |||
]]></artwork> | ]]></artwork> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>The second 500 bytes (byte offsets 500-999, inclusive):</t> | <t>The second 500 bytes (byte offsets 500-999, inclusive):</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes=500-999 | bytes=500-999 | |||
]]></artwork> | ]]></artwork> | |||
</li> | </li> | |||
</ul> | </ul> | |||
<t> | <t> | |||
A client can limit the number of bytes requested without knowing the size | A client can limit the number of bytes requested without knowing the size | |||
of the <xref target="selected.representation" format="none">selected representation</xr ef>. | of the <xref target="selected.representation" format="none">selected representation</xr ef>. | |||
If the <xref target="rule.int-range" format="none">last-pos</xref> value is absent, or if the value is | If the <xref target="rule.int-range" format="none">last-pos</xref> value is absent, or if the value is | |||
greater than or equal to the current length of the representation data, the | greater than or equal to the current length of the representation data, the | |||
byte range is interpreted as the remainder of the representation (i.e., the | byte range is interpreted as the remainder of the representation (i.e., the | |||
skipping to change at line 7651 ¶ | skipping to change at line 7632 ¶ | |||
representation using a <xref target="rule.suffix-range" format="none">suffix-range</xre f>. | representation using a <xref target="rule.suffix-range" format="none">suffix-range</xre f>. | |||
If the selected representation is shorter than the specified | If the selected representation is shorter than the specified | |||
<xref target="rule.suffix-range" format="none">suffix-length</xref>, the entire represe ntation is used. | <xref target="rule.suffix-range" format="none">suffix-length</xref>, the entire represe ntation is used. | |||
</t> | </t> | |||
<t> | <t> | |||
Additional examples, assuming a representation of length 10000: | Additional examples, assuming a representation of length 10000: | |||
</t> | </t> | |||
<ul> | <ul> | |||
<li> | <li> | |||
<t>The final 500 bytes (byte offsets 9500-9999, inclusive):</t> | <t>The final 500 bytes (byte offsets 9500-9999, inclusive):</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes=-500 | bytes=-500 | |||
]]></artwork> | ]]></artwork> | |||
<t>Or:</t> | <t>Or:</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes=9500- | bytes=9500- | |||
]]></artwork> | ]]></artwork> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>The first and last bytes only (bytes 0 and 9999):</t> | <t>The first and last bytes only (bytes 0 and 9999):</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes=0-0,-1 | bytes=0-0,-1 | |||
]]></artwork> | ]]></artwork> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>The first, middle, and last 1000 bytes:</t> | <t>The first, middle, and last 1000 bytes:</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes= 0-999, 4500-5499, -1000 | bytes= 0-999, 4500-5499, -1000 | |||
]]></artwork> | ]]></artwork> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Other valid (but not canonical) specifications of the second 500 | <t>Other valid (but not canonical) specifications of the second 500 | |||
bytes (byte offsets 500-999, inclusive):</t> | bytes (byte offsets 500-999, inclusive):</t> | |||
<artwork type="example"><![CDATA[ | <artwork><![CDATA[ | |||
bytes=500-600,601-999 | bytes=500-600,601-999 | |||
bytes=500-700,601-999 | bytes=500-700,601-999 | |||
]]></artwork> | ]]></artwork> | |||
</li> | </li> | |||
</ul> | </ul> | |||
<t> | <t> | |||
For a <xref target="GET" format="none">GET</xref> request, a valid bytes <xref target=" rule.ranges-specifier" format="none">range-spec</xref> | For a <xref target="GET" format="none">GET</xref> request, a valid bytes <xref target=" rule.ranges-specifier" format="none">range-spec</xref> | |||
is <xref target="satisfiable" format="none">satisfiable</xref> if it is either: | is <xref target="satisfiable" format="none">satisfiable</xref> if it is either: | |||
</t> | </t> | |||
<ul> | <ul> | |||
skipping to change at line 10733 ¶ | skipping to change at line 10714 ¶ | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="method.registration" title="Method Registration"> | <section anchor="method.registration" title="Method Registration"> | |||
<t> | <t> | |||
IANA has updated the "Hypertext Transfer Protocol (HTTP) Method Registry" at | IANA has updated the "Hypertext Transfer Protocol (HTTP) Method Registry" at | |||
<eref target="https://www.iana.org/assignments/http-methods" brackets="angle"/> with the | <eref target="https://www.iana.org/assignments/http-methods" brackets="angle"/> with the | |||
registration procedure of <xref target="method.registry"/> and the method | registration procedure of <xref target="method.registry"/> and the method | |||
names summarized in the following table. | names summarized in the following table. | |||
</t> | </t> | |||
<!-- [auth] AUTOGENERATED FROM extract-method-defs.xslt, do not edit manually- -> | ||||
<table anchor="iana.method.registration.table"> | <table anchor="iana.method.registration.table"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Method</th> | <th>Method</th> | |||
<th>Safe</th> | <th>Safe</th> | |||
<th>Idempotent</th> | <th>Idempotent</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>CONNECT</td> | <td>CONNECT</td> | |||
<td>no</td> | <td>no</td> | |||
<td>no</td> | <td>no</td> | |||
<td> | <td> | |||
<xref target="CONNECT" format="counter"/> | <xref target="CONNECT" format="counter"/> | |||
</td> | </td> | |||
skipping to change at line 10818 ¶ | skipping to change at line 10798 ¶ | |||
<tr> | <tr> | |||
<td>*</td> | <td>*</td> | |||
<td>no</td> | <td>no</td> | |||
<td>no</td> | <td>no</td> | |||
<td> | <td> | |||
<xref target="method.registration" format="counter"/> | <xref target="method.registration" format="counter"/> | |||
</td> | </td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<!--[auth] (END)--> | ||||
<t> | <t> | |||
<iref primary="true" item="Method" subitem="*"/> | <iref primary="true" item="Method" subitem="*"/> | |||
The method name "*" is reserved because using "*" as a method name would | The method name "*" is reserved because using "*" as a method name would | |||
conflict with its usage as a wildcard in some fields (e.g., | conflict with its usage as a wildcard in some fields (e.g., | |||
"Access-Control-Request-Method"). | "Access-Control-Request-Method"). | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="status.code.registration" title="Status Code Registration"> | <section anchor="status.code.registration" title="Status Code Registration"> | |||
<t> | <t> | |||
IANA has updated the "Hypertext Transfer Protocol (HTTP) Status Code Registry" | IANA has updated the "Hypertext Transfer Protocol (HTTP) Status Code Registry" | |||
at <eref target="https://www.iana.org/assignments/http-status-codes" | at <eref target="https://www.iana.org/assignments/http-status-codes" | |||
brackets="angle"/> with | brackets="angle"/> with | |||
the registration procedure of <xref target="status.code.registry"/> and the | the registration procedure of <xref target="status.code.registry"/> and the | |||
status code values summarized in the following table. | status code values summarized in the following table. | |||
</t> | </t> | |||
<!-- [auth] AUTOGENERATED FROM extract-status-code-defs.xslt, do not edit manu ally--> | ||||
<table anchor="iana.status.code.registration.table"> | <table anchor="iana.status.code.registration.table"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Value</th> | <th>Value</th> | |||
<th>Description</th> | <th>Description</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>100</td> | <td>100</td> | |||
<td>Continue</td> | <td>Continue</td> | |||
<td> | <td> | |||
<xref target="status.100" format="counter"/> | <xref target="status.100" format="counter"/> | |||
</td> | </td> | |||
</tr> | </tr> | |||
skipping to change at line 11169 ¶ | skipping to change at line 11147 ¶ | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td>505</td> | <td>505</td> | |||
<td>HTTP Version Not Supported</td> | <td>HTTP Version Not Supported</td> | |||
<td> | <td> | |||
<xref target="status.505" format="counter"/> | <xref target="status.505" format="counter"/> | |||
</td> | </td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<!--[auth] (END)--> | ||||
</section> | </section> | |||
<section anchor="field.name.registration" title="Field Name Registration"> | <section anchor="field.name.registration" title="Field Name Registration"> | |||
<t> | <t> | |||
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 <xref target="RFC3864"/>. | registration procedures for message header fields defined in <xref target="RFC3864"/>. | |||
It replaces the old procedures as they relate to HTTP by defining a new | It replaces the old procedures as they relate to HTTP by defining a new | |||
registration procedure and moving HTTP field definitions into a separate | registration procedure and moving HTTP field definitions into a separate | |||
registry. | registry. | |||
</t> | </t> | |||
<t> | <t> | |||
skipping to change at line 11220 ¶ | skipping to change at line 11197 ¶ | |||
<t> | <t> | |||
HTTP field name registrations have been moved to | HTTP field name registrations have been moved to | |||
[<eref target="https://www.iana.org/assignments/http-fields" brackets="none"/>] per | [<eref target="https://www.iana.org/assignments/http-fields" brackets="none"/>] per | |||
[RFC9110]. | [RFC9110]. | |||
</t> | </t> | |||
</aside> | </aside> | |||
<t> | <t> | |||
IANA has updated the "Hypertext Transfer Protocol (HTTP) Field Name Registry" | IANA has updated the "Hypertext Transfer Protocol (HTTP) Field Name Registry" | |||
with the field names listed in the following table. | with the field names listed in the following table. | |||
</t> | </t> | |||
<!--AUTOGENERATED FROM extract-header-defs.xslt, do not edit manually--> | ||||
<table align="left" anchor="iana.header.registration.table"> | <table align="left" anchor="iana.header.registration.table"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Field Name</th> | <th>Field Name</th> | |||
<th>Status</th> | <th>Status</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
<th>Comments</th> | <th>Comments</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>Accept</td> | <td>Accept</td> | |||
<td>permanent</td> | <td>permanent</td> | |||
<td> | <td> | |||
<xref target="field.accept" format="counter"/> | <xref target="field.accept" format="counter"/> | |||
</td> | </td> | |||
skipping to change at line 11577 ¶ | skipping to change at line 11553 ¶ | |||
<tr> | <tr> | |||
<td>*</td> | <td>*</td> | |||
<td>permanent</td> | <td>permanent</td> | |||
<td> | <td> | |||
<xref target="field.vary" format="counter"/> | <xref target="field.vary" format="counter"/> | |||
</td> | </td> | |||
<td>(reserved)</td> | <td>(reserved)</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<!--(END)--> | ||||
<t anchor="field.asterisk"> | <t anchor="field.asterisk"> | |||
<iref primary="true" item="Fields" subitem="*"/> | <iref primary="true" item="Fields" subitem="*"/> | |||
The field name "*" is reserved because using that name as | The field name "*" is reserved because using that name as | |||
an HTTP header field might conflict with its special semantics in the | an HTTP header field might conflict with its special semantics in the | |||
<xref target="field.vary" format="none">Vary</xref> header field (<xref target="field.v ary"/>). | <xref target="field.vary" format="none">Vary</xref> header field (<xref target="field.v ary"/>). | |||
</t> | </t> | |||
<t> | <t> | |||
<iref primary="true" item="Fields" subitem="Content-MD5"/> | <iref primary="true" item="Fields" subitem="Content-MD5"/> | |||
<iref primary="true" item="Header Fields" subitem="Content-MD5"/> | <iref primary="true" item="Header Fields" subitem="Content-MD5"/> | |||
skipping to change at line 11623 ¶ | skipping to change at line 11598 ¶ | |||
<eref target="https://www.iana.org/assignments/http-parameters/" | <eref target="https://www.iana.org/assignments/http-parameters/" | |||
brackets="angle"/> | brackets="angle"/> | |||
with the registration procedure of <xref target="content.coding.registry"/> | with the registration procedure of <xref target="content.coding.registry"/> | |||
and the content coding names summarized in the table below. | and the content coding names summarized in the table below. | |||
</t> | </t> | |||
<table align="left" anchor="iana.content.coding.registration.table"> | <table align="left" anchor="iana.content.coding.registration.table"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Name</th> | <th>Name</th> | |||
<th>Description</th> | <th>Description</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>compress</td> | <td>compress</td> | |||
<td>UNIX "compress" data format <xref target="Welch"/> | <td>UNIX "compress" data format <xref target="Welch"/> | |||
</td> | </td> | |||
<td> | <td> | |||
<xref target="compress.coding" format="counter"/> | <xref target="compress.coding" format="counter"/> | |||
</td> | </td> | |||
skipping to change at line 11688 ¶ | skipping to change at line 11663 ¶ | |||
<eref target="https://www.iana.org/assignments/http-parameters/" | <eref target="https://www.iana.org/assignments/http-parameters/" | |||
brackets="angle"/> | brackets="angle"/> | |||
with the registration procedure of <xref target="range.unit.registry"/> | with the registration procedure of <xref target="range.unit.registry"/> | |||
and the range unit names summarized in the table below. | and the range unit names summarized in the table below. | |||
</t> | </t> | |||
<table align="left" anchor="iana.range.units.table"> | <table align="left" anchor="iana.range.units.table"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Range Unit Name</th> | <th>Range Unit Name</th> | |||
<th>Description</th> | <th>Description</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>bytes</td> | <td>bytes</td> | |||
<td>a range of octets</td> | <td>a range of octets</td> | |||
<td> | <td> | |||
<xref target="byte.ranges" format="counter"/> | <xref target="byte.ranges" format="counter"/> | |||
</td> | </td> | |||
</tr> | </tr> | |||
skipping to change at line 11750 ¶ | skipping to change at line 11725 ¶ | |||
brackets="angle"/> | brackets="angle"/> | |||
with the registration procedure described in <xref target="upgrade.token.registry"/> | with the registration procedure described in <xref target="upgrade.token.registry"/> | |||
and the upgrade token names summarized in the following table. | and the upgrade token names summarized in the following table. | |||
</t> | </t> | |||
<table align="left"> | <table align="left"> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th>Name</th> | <th>Name</th> | |||
<th>Description</th> | <th>Description</th> | |||
<th>Expected Version Tokens</th> | <th>Expected Version Tokens</th> | |||
<th>Ref.</th> | <th>Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td>HTTP</td> | <td>HTTP</td> | |||
<td>Hypertext Transfer Protocol</td> | <td>Hypertext Transfer Protocol</td> | |||
<td>any DIGIT.DIGIT (e.g., "2.0")</td> | <td>any DIGIT.DIGIT (e.g., "2.0")</td> | |||
<td> | <td> | |||
<xref target="protocol.version" format="counter"/> | <xref target="protocol.version" format="counter"/> | |||
</td> | </td> | |||
skipping to change at line 11777 ¶ | skipping to change at line 11752 ¶ | |||
<back> | <back> | |||
<displayreference target="HTTP10" to="HTTP/1.0"/> | <displayreference target="HTTP10" to="HTTP/1.0"/> | |||
<displayreference target="HTTP11" to="HTTP/1.1"/> | <displayreference target="HTTP11" to="HTTP/1.1"/> | |||
<displayreference target="HTTP2" to="HTTP/2"/> | <displayreference target="HTTP2" to="HTTP/2"/> | |||
<displayreference target="HTTP3" to="HTTP/3"/> | <displayreference target="HTTP3" to="HTTP/3"/> | |||
<references> | <references> | |||
<name>References</name> | <name>References</name> | |||
<references> | <references> | |||
<name>Normative References</name> | <name>Normative References</name> | |||
<!-- [I-D.ietf-httpbis-cache]; companion document RFC 9111 --> | ||||
<reference anchor='CACHING' target='https://www.rfc-editor.org/info/rfc9111'> | <reference anchor='CACHING' target='https://www.rfc-editor.org/info/rfc9111'> | |||
<front> | <front> | |||
<title>HTTP Caching</title> | <title>HTTP Caching</title> | |||
<author initials='R' surname='Fielding' fullname='Roy T. Fielding' role=' editor'> | <author initials='R' surname='Fielding' fullname='Roy T. Fielding' role=' editor'> | |||
<organization /> | <organization /> | |||
</author> | </author> | |||
<author initials='M' surname='Nottingham' fullname='Mark Nottingham' role ='editor'> | <author initials='M' surname='Nottingham' fullname='Mark Nottingham' role ='editor'> | |||
<organization /> | <organization /> | |||
</author> | </author> | |||
<author initials='J' surname='Reschke' fullname='Julian Reschke' role='ed itor'> | <author initials='J' surname='Reschke' fullname='Julian Reschke' role='ed itor'> | |||
skipping to change at line 11888 ¶ | skipping to change at line 11862 ¶ | |||
<refcontent>IEEE Computer 17(6)</refcontent> | <refcontent>IEEE Computer 17(6)</refcontent> | |||
<seriesInfo name="DOI" value="10.1109/MC.1984.1659158"/> | <seriesInfo name="DOI" value="10.1109/MC.1984.1659158"/> | |||
</reference> | </reference> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml"/> | |||
</references> | </references> | |||
<references> | <references> | |||
<name>Informative References</name> | <name>Informative References</name> | |||
<!-- [HTTP11] [I-D.ietf-httpbis-messaging]; companion document RFC 9112 --> | ||||
<reference anchor="HTTP11" target='https://www.rfc-editor.org/info/rfc9112'> | <reference anchor="HTTP11" target='https://www.rfc-editor.org/info/rfc9112'> | |||
<front> | <front> | |||
<title>HTTP/1.1</title> | <title>HTTP/1.1</title> | |||
<author initials="R." surname="Fielding" fullname="Roy T. Fielding" role ="editor"> | <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role ="editor"> | |||
<organization>Adobe</organization> | <organization>Adobe</organization> | |||
</author> | </author> | |||
<author initials="M." surname="Nottingham" fullname="Mark Nottingham" ro le="editor"> | <author initials="M." surname="Nottingham" fullname="Mark Nottingham" ro le="editor"> | |||
<organization>Fastly</organization> | <organization>Fastly</organization> | |||
</author> | </author> | |||
<author initials="J." surname="Reschke" fullname="Julian Reschke" role=" editor"> | <author initials="J." surname="Reschke" fullname="Julian Reschke" role=" editor"> | |||
skipping to change at line 12023 ¶ | skipping to change at line 11996 ¶ | |||
<date month="May" year="1996"/> | <date month="May" year="1996"/> | |||
</front> | </front> | |||
<seriesInfo name="RFC" value="1945"/> | <seriesInfo name="RFC" value="1945"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC1945"/> | <seriesInfo name="DOI" value="10.17487/RFC1945"/> | |||
</reference> | </reference> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2047.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2047.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2068.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2068.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2145.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2145.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2295.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2295.xml"/> | |||
<!-- long way to include the Day attribute because this is an April 1st RFC --> | ||||
<reference anchor="RFC2324" target="https://www.rfc-editor.org/info/rfc2324"> | <reference anchor="RFC2324" target="https://www.rfc-editor.org/info/rfc2324"> | |||
<front> | <front> | |||
<title>Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)</title> | <title>Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)</title> | |||
<author initials="L." surname="Masinter" fullname="L. Masinter"/> | <author initials="L." surname="Masinter" fullname="L. Masinter"/> | |||
<date year="1998" month="April" day="1"/> | <date year="1998" month="April" day="1"/> | |||
</front> | </front> | |||
<seriesInfo name="RFC" value="2324"/> | <seriesInfo name="RFC" value="2324"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC2324"/> | <seriesInfo name="DOI" value="10.17487/RFC2324"/> | |||
</reference> | </reference> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2557.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2557.xml"/> | |||
skipping to change at line 12101 ¶ | skipping to change at line 12073 ¶ | |||
<author initials="P." surname="McManus" fullname="P. McManus"/> | <author initials="P." surname="McManus" fullname="P. McManus"/> | |||
<author initials="J." surname="Reschke" fullname="J. Reschke"/> | <author initials="J." surname="Reschke" fullname="J. Reschke"/> | |||
<date year="2016" month="April"/> | <date year="2016" month="April"/> | |||
</front> | </front> | |||
<seriesInfo name="RFC" value="7838"/> | <seriesInfo name="RFC" value="7838"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC7838"/> | <seriesInfo name="DOI" value="10.17487/RFC7838"/> | |||
</reference> | </reference> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8336.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8336.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml"/> | |||
<!-- [HTTP3][I-D.ietf-quic-http] in AUTH48*R state as of 2/10/2022; companion document RFC | ||||
9114 (RFC number updated at request of AD) --> | ||||
<reference anchor='HTTP3' target='https://www.rfc-editor.org/info/rfc9114'> | <reference anchor='HTTP3' target='https://www.rfc-editor.org/info/rfc9114'> | |||
<front> | <front> | |||
<title>Hypertext Transfer Protocol Version 3 (HTTP/3)</title> | <title>Hypertext Transfer Protocol Version 3 (HTTP/3)</title> | |||
<author initials="M." | <author initials="M." | |||
surname="Bishop" | surname="Bishop" | |||
fullname="Mike Bishop" | fullname="Mike Bishop" | |||
role="editor"/> | role="editor"/> | |||
<date year="2022" month="April"/> | <date year="2022" month="April"/> | |||
</front> | </front> | |||
<seriesInfo name="RFC" value="9114"/> | <seriesInfo name="RFC" value="9114"/> | |||
End of changes. 44 change blocks. | ||||
60 lines changed or deleted | 32 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/ |