rfc9745.original.xml | rfc9745.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
<!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
]> | ]> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.0. | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | |||
2) --> | -ietf-httpapi-deprecation-header-latest" number="9745" updates="" obsoletes="" s | |||
<?rfc tocindent="yes"?> | ubmissionType="IETF" category="std" consensus="true" tocInclude="true" sortRefs= | |||
<?rfc strict="yes"?> | "true" symRefs="true" version="3" xml:lang="en"> | |||
<?rfc compact="yes"?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | ||||
-ietf-httpapi-deprecation-header-latest" category="std" consensus="true" tocIncl | ||||
ude="true" sortRefs="true" symRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.23.2 --> | ||||
<front> | <front> | |||
<title>The Deprecation HTTP Header Field</title> | <title>The Deprecation HTTP Response Header Field</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-httpapi-deprecation-head | <seriesInfo name="RFC" value="9745"/> | |||
er-latest"/> | ||||
<author initials="S." surname="Dalal" fullname="Sanjay Dalal"> | <author initials="S." surname="Dalal" fullname="Sanjay Dalal"> | |||
<organization/> | ||||
<address> | <address> | |||
<email>sanjay.dalal@cal.berkeley.edu</email> | <email>sanjay.dalal@cal.berkeley.edu</email> | |||
<uri>https://github.com/sdatspun2</uri> | <uri>https://github.com/sdatspun2</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="E." surname="Wilde" fullname="Erik Wilde"> | <author initials="E." surname="Wilde" fullname="Erik Wilde"> | |||
<organization/> | ||||
<address> | <address> | |||
<email>erik.wilde@dret.net</email> | <email>erik.wilde@dret.net</email> | |||
<uri>http://dret.net/netdret</uri> | <uri>http://dret.net/netdret</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2024" month="October" day="09"/> | <date year="2025" month="March"/> | |||
<area>Web and Internet Transport</area> | <area>WIT</area> | |||
<workgroup>HTTPAPI</workgroup> | <workgroup>httpapi</workgroup> | |||
<keyword>HTTP, deprecation</keyword> | <keyword>HTTP</keyword> | |||
<abstract> | <keyword>deprecation</keyword> | |||
<?line 44?> | ||||
<t>The Deprecation HTTP response header field is used to signal to consumers of | <abstract><t>The Deprecation HTTP response header field is used to signal | |||
a resource (in the sense of URI) that the resource will be or has been deprecate | to consumers of a resource (in the sense of URI) that the resource will be | |||
d. Additionally, the deprecation link relation can be used to link to a resource | or has been deprecated. Additionally, the <tt>deprecation</tt> link relation | |||
that provides additional information about planned or existing deprecation, and | can be | |||
possibly ways in which client application developers can best manage deprecatio | used to link to a resource that provides further information about planned | |||
n.</t> | or existing deprecation. It may also provide ways in which client | |||
application developers can best manage deprecation.</t> | ||||
</abstract> | </abstract> | |||
<note removeInRFC="true"> | ||||
<name>About This Document</name> | ||||
<t> | ||||
Status information for this document may be found at <eref target="https | ||||
://datatracker.ietf.org/doc/draft-ietf-httpapi-deprecation-header/"/>. | ||||
</t> | ||||
<t> | ||||
Discussion of this document takes place on the | ||||
HTTPAPI Working Group mailing list (<eref target="mailto:httpapi@ietf.or | ||||
g"/>), | ||||
which is archived at <eref target="https://mailarchive.ietf.org/arch/bro | ||||
wse/httpapi/"/>. | ||||
Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/httpapi | ||||
/"/>. | ||||
Working Group information can be found at <eref target="https://ietf-wg- | ||||
httpapi.github.io/"/>. | ||||
</t> | ||||
<t>Source for this draft and an issue tracker can be found at | ||||
<eref target="https://github.com/ietf-wg-httpapi/deprecation-header"/>.< | ||||
/t> | ||||
</note> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<?line 49?> | ||||
<section anchor="introduction"> | <section anchor="introduction"> | |||
<name>Introduction</name> | <name>Introduction</name> | |||
<t>Deprecation of an HTTP resource (<xref section="3.1" sectionFormat="of" | ||||
target="HTTP"/>) communicates information about the lifecycle of a resource. It | <t>Deprecation of an HTTP resource (<xref section="3.1" sectionFormat="of" | |||
encourages client applications to migrate away from the resource, discourages a | target="RFC9110"/>) communicates information about the lifecycle of a resource. | |||
pplications from forming new dependencies on the resource, and informs applicati | It encourages client applications to migrate away from the resource, discourage | |||
ons about the risk of continued dependence upon the resource.</t> | s applications from forming new dependencies on the resource, and informs applic | |||
<t>The act of deprecation does not change any behavior of the resource. It | ations about the risk of continued dependence upon the resource.</t> | |||
informs client applications of the fact that a resource will be or is deprecate | <t>The act of deprecation does not change any behavior of the resource. It | |||
d. The Deprecation HTTP response header field can be used to convey this informa | informs client applications of the fact that a resource will be or has been dep | |||
tion at runtime indicating when the deprecation will be in effect.</t> | recated. The Deprecation HTTP response header field can be used to convey this i | |||
<t>In addition to the Deprecation header field, the resource provider can | nformation at runtime and indicate when the deprecation will be in effect.</t> | |||
use other header fields such as Link (<xref target="LINK"/>) to convey additiona | <t>In addition to the <tt>Deprecation</tt> header field, the resource prov | |||
l information related to deprecation. This can be information such as where to f | ider can use other header fields such as the <tt>Link</tt> header field <xref ta | |||
ind documentation related to the deprecation, what can be used as a replacement, | rget="RFC8288"/> to convey additional information related to deprecation. This c | |||
and when a deprecated resource becomes non-operational.</t> | an be information such as where to find documentation related to the deprecation | |||
<section anchor="notational-conventions"> | , what can be used as a replacement, and when a deprecated resource becomes non- | |||
operational.</t> | ||||
<section anchor="requirements-language"> | ||||
<name>Notational Conventions</name> | <name>Notational Conventions</name> | |||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp | ||||
14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECO | ||||
MMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be i | ||||
nterpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and | ||||
only when, they | ||||
appear in all capitals, as shown here.</t> | ||||
<?line -18?> | ||||
<t>This document uses "Structured Field Values for HTTP" (<xref target="STRUCTUR | <t> | |||
ED-FIELDS"/>) to specify syntax and parsing of date values.</t> | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
<t>The term "resource" is to be interpreted as defined in <xref section= | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | |||
"3.1" sectionFormat="of" target="HTTP"/>.</t> | ", | |||
"<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | ||||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be | ||||
interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | ||||
target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
shown here. | ||||
</t> | ||||
<t>This document uses "<xref target="RFC9651" format="title"/>" <xref | ||||
target="RFC9651"/> to specify syntax and parsing of date values.</t> | ||||
<t>The term "resource" is to be interpreted as defined in <xref | ||||
section="3.1" sectionFormat="of" target="RFC9110"/>.</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="the-deprecation-http-response-header-field"> | <section anchor="the-deprecation-http-response-header-field"> | |||
<name>The Deprecation HTTP Response Header Field</name> | <name>The Deprecation HTTP Response Header Field</name> | |||
<t>The <tt>Deprecation</tt> HTTP response header field allows a server to communicate to a client application that the resource in context of the message is or will be deprecated.</t> | <t>The <tt>Deprecation</tt> HTTP response header field allows a server to communicate to a client application that the resource in the context of the mess age will be or has been deprecated.</t> | |||
<section anchor="syntax"> | <section anchor="syntax"> | |||
<name>Syntax</name> | <name>Syntax</name> | |||
<t>The <tt>Deprecation</tt> response header field describes the deprecat | <t>The <tt>Deprecation</tt> HTTP response header field describes the dep | |||
ion of the resource identified with the response it occurred within (see <xref s | recation of the resource identified with the response it occurred within (see <x | |||
ection="6.4.2" sectionFormat="of" target="HTTP"/>). It conveys the deprecation d | ref section="6.4.2" sectionFormat="of" target="RFC9110"/>). It conveys the depre | |||
ate, which may be in the future (the resource context will be deprecated at that | cation date, which may be in the future (the resource in context will be depreca | |||
date) or in the past (the resource context has been deprecated at that date).</ | ted at that date) or in the past (the resource in context was deprecated at that | |||
t> | date).</t> | |||
<t><tt>Deprecation</tt> is an Item Structured Header Field; its value <b | ||||
cp14>MUST</bcp14> be a Date as per <xref section="3.3.7" sectionFormat="of" targ | <t><tt>Deprecation</tt> is an Item Structured Header Field; its value <b | |||
et="STRUCTURED-FIELDS"/>.</t> | cp14>MUST</bcp14> be a Date as per <xref section="3.3.7" sectionFormat="of" targ | |||
<t>The following example shows that the resource context has been deprec | et="RFC9651"/>.</t> | |||
ated on Friday, June 30, 2023 at 23:59:59 UTC:</t> | <t>The following example shows that the resource in context was deprecat | |||
ed on Friday, June 30, 2023 at 23:59:59 UTC:</t> | ||||
<artwork><![CDATA[ | <artwork><![CDATA[ | |||
Deprecation: @1688169599 | Deprecation: @1688169599 | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="scope"> | <section anchor="scope"> | |||
<name>Scope</name> | <name>Scope</name> | |||
<t>The Deprecation header field applies to the resource identified with | <t>The <tt>Deprecation</tt> header field applies to the resource identif | |||
the response it occurred within (see <xref section="6.4.2" sectionFormat="of" ta | ied with the response it occurred within (see <xref section="6.4.2" sectionForma | |||
rget="HTTP"/>), meaning that it announces the upcoming deprecation of that speci | t="of" target="RFC9110"/>), meaning that it announces the upcoming deprecation o | |||
fic resource. However, there may be scenarios where the scope of the announced d | f that specific resource. However, there may be scenarios where the scope of the | |||
eprecation is larger than just the single resource where it appears.</t> | announced deprecation is larger than just the single resource where it appears. | |||
<t>Resources are free to define such an increased scope, and usually thi | </t> | |||
s scope will be documented by the resource so that consumers of the resource kno | <t>Resources are free to define such an increased scope, and usually thi | |||
w about the increased scope and can behave accordingly. When doing so, it is imp | s scope will be documented by the resource so that consumers of the resource kno | |||
ortant to take into account that such increased scoping is invisible for consume | w about the increased scope and can behave accordingly. When doing so, it is imp | |||
rs who are unaware of the increased scoping rules. This means that these consume | ortant to take into account that such increased scoping is invisible for consume | |||
rs will not be aware of the increased scope, and they will not interpret depreca | rs who are unaware of the increased scoping rules. This means that these consume | |||
tion information different from its standard meaning (i.e., it applies to the re | rs will not be aware of the increased scope, and they will not interpret depreca | |||
source only).</t> | tion-related information differently from its standard meaning (i.e., it applies | |||
<t>Using such an increased scope still may make sense, as deprecation in | to the resource only).</t> | |||
formation is only a hint anyway. It is optional information that cannot be depen | ||||
ded on, and client applications should always be implemented in ways that allow | <t>Using such an increased scope still may make sense, as deprecation-rel | |||
them to function without Deprecation information. Increased scope information ma | ated information is only a hint anyway. It is optional information that cannot b | |||
y help client application developers to glean additional hints from related reso | e depended on, and client applications should always be implemented in ways that | |||
urces and, thus, might allow them to implement behavior that allows them to make | allow them to function without deprecation-related information. Increased scope | |||
educated guesses about resources becoming deprecated.</t> | information may help client application developers to glean additional hints fr | |||
<t>For example, an API might not use Deprecation header fields on all of | om related resources and thus might allow them to implement behavior that enable | |||
its resources, but only on designated resources such as the API's home document | s them to make educated guesses about resources becoming deprecated.</t> | |||
. This means that deprecation information is available, but in order to get it, | <t>For example, an API might not use <tt>Deprecation</tt> header fields | |||
client application developers have to periodically inspect the home document. In | on all of its resources but only on designated resources such as the API's home | |||
this example, the extended context of the Deprecation header field would be all | document. This means that deprecation-related information is available, but in o | |||
resources provided by the API, while the visibility of the information would on | rder to get it, client application developers have to periodically inspect the h | |||
ly be on the home document.</t> | ome document. In this example, the extended context of the <tt>Deprecation</tt> | |||
header field would be all resources provided by the API, while the visibility of | ||||
the information would only be on the home document.</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="the-deprecation-link-relation-type"> | <section anchor="the-deprecation-link-relation-type"> | |||
<name>The Deprecation Link Relation Type</name> | <name>The <tt>Deprecation</tt> Link Relation Type</name> | |||
<t>In addition to the Deprecation HTTP header field, the server can use li | <t>In addition to the Deprecation HTTP response header field, the server c | |||
nks with the "deprecation" link relation type to communicate to the client appli | an use links with the <tt>deprecation</tt> link relation type to communicate to | |||
cation developer where to find more information about deprecation of the context | the client application developer where to find more information about deprecatio | |||
. This can happen before the actual deprecation, to make a deprecation policy di | n of the context. This can happen before the actual deprecation to make a deprec | |||
scoverable, or after deprecation, when there may be documentation about the depr | ation policy discoverable or after deprecation when there may be documentation a | |||
ecation, and possibly documentation of how to manage it.</t> | bout the deprecation and how to manage it.</t> | |||
<t>This specification places no restrictions on the representation of the | <t>This specification places no restrictions on the representation of the | |||
linked deprecation policy. In particular, the deprecation policy may be availabl | linked deprecation policy. In particular, the deprecation policy may be availabl | |||
e as human-readable documentation or as machine-readable description.</t> | e as human-readable documentation or as a machine-readable description.</t> | |||
<section anchor="documentation"> | <section anchor="documentation"> | |||
<name>Documentation</name> | <name>Documentation</name> | |||
<t>The purpose of the <tt>Deprecation</tt> header field is to provide a hint about deprecation to the resource consumer. Upon reception of the <tt>Depre cation</tt> header field, the client application developer can look up the resou rce's documentation in order to find deprecation related information. The docume ntation <bcp14>MAY</bcp14> provide a guide and timeline to migrate away from the deprecated resource to a new resource(s) replacing the deprecated resource, if applicable. The resource provider can provide a link to the resource documentati on using a <tt>Link</tt> header field with relation type <tt>deprecation</tt> as shown below:</t> | <t>The purpose of the <tt>Deprecation</tt> header field is to provide a hint about deprecation to the resource consumer. Upon reception of the <tt>Depre cation</tt> header field, the client application developer can look up the resou rce's documentation in order to find deprecation-related information. The docume ntation <bcp14>MAY</bcp14> provide a guide and timeline for migrating away from the deprecated resource to a new resource(s) that replaces the deprecated resour ce, if applicable. The resource provider can provide a link to the resource's do cumentation using a <tt>Link</tt> header field with the relation type <tt>deprec ation</tt> as shown below:</t> | |||
<artwork><![CDATA[ | <artwork><![CDATA[ | |||
Link: <https://developer.example.com/deprecation>; | Link: <https://developer.example.com/deprecation>; | |||
rel="deprecation"; type="text/html" | rel="deprecation"; type="text/html" | |||
]]></artwork> | ]]></artwork> | |||
<t>In this example the linked content provides additional information ab | ||||
out deprecation of the resource context. There is no Deprecation header field in | <t>In this example, the linked content provides additional information about | |||
the response, and thus the resource is not (yet) deprecated. However, the resou | deprecation of the resource in context. There is no <tt>Deprecation</tt> header | |||
rce already exposes a link where information is available describing how depreca | field in | |||
tion is managed for the resource. This may be the documentation explaining under | the response; thus, the resource is not (yet) deprecated. However, the | |||
which circumstances and with which policies deprecation might take place. For e | resource already exposes a link where information describing how deprecation | |||
xample, a policy may indicate that deprecation of a resource(s) will always be s | is managed for the resource is available. This may be the documentation | |||
ignaled in the dedicated places at least N days ahead of the planned deprecation | explaining the circumstances in which deprecation might take place and the | |||
date and then only the resource(s) would be deprecated. Or a policy may indicat | deprecation policies. For example, a policy may indicate that deprecation of | |||
e that resource(s) would be deprecated first and then only be signaled as deprec | a resource(s) will always be signaled in the dedicated places at least N days | |||
ated at dedicated places. The documentation in addition to the deprecation polic | ahead of the planned deprecation date and then the resource(s) would be | |||
y may also provide a migration guide exaplaining to consumers of the resource ho | deprecated on the planned date. Or a policy may indicate that the resource(s) | |||
w to migrate to a new resource(s) or an alternate resource(s) before the depreca | would be deprecated first and then be signaled as deprecated at dedicated | |||
tion date. Such policy and documentation would be very useful to consumers of th | places. The documentation, in addition to the deprecation policy, may also | |||
e resource to plan ahead and migrate successfully.</t> | provide a migration guide explaining to consumers of the resource how to | |||
<t>The following example uses the same link header field, but also annou | migrate to a new or alternate resource(s) before the deprecation date. Such | |||
nces a deprecation date using a Deprecation header field:</t> | policy and documentation would be very useful to consumers of the resource to | |||
plan ahead and migrate successfully.</t> | ||||
<t>The following example uses the same <tt>Link</tt> header field but al | ||||
so announces a deprecation date using a <tt>Deprecation</tt> header field:</t> | ||||
<artwork><![CDATA[ | <artwork><![CDATA[ | |||
Deprecation: @1688169599 | Deprecation: @1688169599 | |||
Link: <https://developer.example.com/deprecation>; | Link: <https://developer.example.com/deprecation>; | |||
rel="deprecation"; type="text/html" | rel="deprecation"; type="text/html" | |||
]]></artwork> | ]]></artwork> | |||
<t>Given that the deprecation date is in the past, the linked informatio n resource may have been updated to include information about the deprecation, a llowing consumers to discover information about the deprecation and how to best manage it.</t> | <t>Given that the deprecation date is in the past, the linked informatio n resource may have been updated to include information about the deprecation, a llowing consumers to discover information about the deprecation and how to best manage it.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="sunset"> | <section anchor="sunset"> | |||
<name>Sunset</name> | <name>Sunset</name> | |||
<t>In addition to the deprecation related information, if the resource pro | <t>In addition to the deprecation-related information, if the resource pro | |||
vider wants to convey to the client application that the deprecated resource is | vider wants to convey to the client application that the deprecated resource is | |||
expected to become unresponsive at a specific point in time, the Sunset HTTP hea | expected to become unresponsive at a specific point in time, the <tt>Sunset</tt> | |||
der field <xref target="RFC8594"/> can be used in addition to the <tt>Deprecatio | HTTP header field <xref target="RFC8594"/> can be used in addition to the <tt>D | |||
n</tt> header field.</t> | eprecation</tt> header field.</t> | |||
<t>The timestamp given in the <tt>Sunset</tt> header field <bcp14>MUST NOT | <t>The timestamp given in the <tt>Sunset</tt> HTTP header field <bcp14>MUS | |||
</bcp14> be earlier than the one given in the <tt>Deprecation</tt> header field. | T NOT</bcp14> be earlier than the one given in the <tt>Deprecation</tt> header f | |||
If that happens for some reasons such as misconfiguration of deployment of the | ield. If that happens (for example, due to misconfiguration of deployment of the | |||
resource or an error, the client application developer <bcp14>SHOULD</bcp14> con | resource or an error), the client application developer <bcp14>SHOULD</bcp14> c | |||
sult the resource developer to get clarification.</t> | onsult the resource developer to get clarification.</t> | |||
<t>The following example shows that the resource in context has been depre | <t>The following example shows that the resource in context was deprecated | |||
cated since Friday, June 30, 2023 at 23:59:59 UTC and its sunset date is Sunday, | on Friday, June 30, 2023 at 23:59:59 UTC and its sunset date is Sunday, June 30 | |||
June 30, 2024 at 23:59:59 UTC. Please note that for historical reasons the Suns | , 2024 at 23:59:59 UTC. Please note that for historical reasons the <tt>Sunset</ | |||
et HTTP header field uses a different data format for date.</t> | tt> HTTP header field uses a different data format for date.</t> | |||
<artwork><![CDATA[ | <artwork><![CDATA[ | |||
Deprecation: @1688169599 | Deprecation: @1688169599 | |||
Sunset: Sun, 30 Jun 2024 23:59:59 UTC | Sunset: Sun, 30 Jun 2024 23:59:59 UTC | |||
]]></artwork> | ]]></artwork> | |||
</section> | </section> | |||
<section anchor="resource-behavior"> | <section anchor="resource-behavior"> | |||
<name>Resource Behavior</name> | <name>Resource Behavior</name> | |||
<t>The act of deprecation does not change any behavior of the resource. Th | <t>The act of deprecation does not change any behavior of the resource. | |||
e presence of a Deprecation header field in response is not meant to signal a ch | The presence of a <tt>Deprecation</tt> header field in a response is not m | |||
ange in the meaning or function of a resource in the context, allowing consumers | eant to | |||
to still use the resource in the same way as they did before the resource was d | signal a change in the meaning or function of a resource in the context; | |||
eclared deprecated.</t> | consumers can still use the resource in the same way as they did before | |||
the resource was declared deprecated.</t> | ||||
</section> | </section> | |||
<section anchor="iana-considerations"> | <section anchor="iana-considerations"> | |||
<name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
<section anchor="the-deprecation-http-response-header-field-1"> | <section anchor="the-deprecation-http-response-header-field-1"> | |||
<name>The Deprecation HTTP Response Header Field</name> | <name>The Deprecation HTTP Response Header Field</name> | |||
<t>The <tt>Deprecation</tt> response header field should be added to the | <t>The <tt>Deprecation</tt> HTTP response header field has been added to | |||
"Hypertext Transfer Protocol (HTTP) Field Name Registry" registry (<xref sectio | the "Hypertext Transfer Protocol (HTTP) Field Name Registry" (<xref section="16 | |||
n="16.3.1" sectionFormat="of" target="HTTP"/>)</t> | .3.1" sectionFormat="of" target="RFC9110"/>) as follows:</t> | |||
<artwork><![CDATA[ | <dl newline="false"> | |||
Header Field Name: Deprecation | <dt>Field Name:</dt><dd>Deprecation</dd> | |||
<dt>Status:</dt><dd>permanent</dd> | ||||
Structured Type: Item | <dt>Structured Type:</dt><dd>Item</dd> | |||
<dt>Reference:</dt> <dd>RFC 9745, <xref target="the-deprecation-http-re | ||||
Status: permanent | sponse-header-field" format="default"/>: The Deprecation HTTP Response Header Fi | |||
eld</dd> | ||||
Specification document: this specification, | </dl> | |||
Section 2 "The Deprecation HTTP Response Header Field" | ||||
]]></artwork> | ||||
</section> | </section> | |||
<section anchor="the-deprecation-link-relation-type-1"> | <section anchor="the-deprecation-link-relation-type-1"> | |||
<name>The Deprecation Link Relation Type</name> | <name>The <tt>Deprecation</tt> Link Relation Type</name> | |||
<t>The <tt>deprecation</tt> link relation type should be added to the pe | <t>The <tt>deprecation</tt> link relation type has been added to the "Li | |||
rmanent registry of link relation types (<xref section="4.2" sectionFormat="of" | nk Relation Types" registry (<xref section="4.2" sectionFormat="of" target="RFC8 | |||
target="LINK"/>).</t> | 288"/>) as follows:</t> | |||
<artwork><![CDATA[ | <dl newline="false"> | |||
Relation Name: deprecation | <dt>Relation Name:</dt><dd>deprecation</dd> | |||
<dt>Description:</dt><dd>Refers to documentation (intended for human co | ||||
Description: Refers to a resource that is documentation (intended for human cons | nsumption) about the deprecation of the link's context.</dd> | |||
umption) about the deprecation of the link's context. | <dt>Reference:</dt><dd>RFC 9745, <xref target="the-deprecation-link-rel | |||
ation-type" format="default"/></dd> | ||||
Specification document: this specification, | </dl> | |||
Section 3 "The Deprecation Link Relation Type" | ||||
]]></artwork> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="security-considerations"> | <section anchor="security-considerations"> | |||
<name>Security Considerations</name> | <name>Security Considerations</name> | |||
<t>The Deprecation header field should be treated as a hint, meaning that | <t>The <tt>Deprecation</tt> header field should be treated as a hint, mean | |||
the resource is indicating (and not guaranteeing with certainty) that it will be | ing that the resource is indicating (but not guaranteeing with certainty) that i | |||
or is deprecated. Deprecated resources function as they would have without send | t will be or has been deprecated. Deprecated resources function as they would ha | |||
ing the deprecation header field, even though one might consider non-functional | ve without sending the <tt>Deprecation</tt> header field, even though non-functi | |||
details such as making them progressively less efficient with longer response ti | onal details may be affected (e.g., they have less efficiency and longer respons | |||
me for example.</t> | e times).</t> | |||
<t>Resource documentation should provide additional information about the | <t>The resource's documentation should provide additional information abou | |||
deprecation, such as including recommendation(s) for replacement. Developers of | t the deprecation, such as recommendations for replacement. Developers of client | |||
client applications consuming the resource <bcp14>SHOULD</bcp14> always check th | applications consuming the resource <bcp14>SHOULD</bcp14> always check the refe | |||
e referred resource documentation to verify authenticity and accuracy. In cases | rred resource's documentation to verify authenticity and accuracy. In cases wher | |||
where a <tt>Link</tt> header field is used to provide documentation, one should | e a <tt>Link</tt> header field is used to provide documentation, one should assu | |||
assume (unless served over HTTPS) that the content of the <tt>Link</tt> header f | me (unless served over HTTPS) that the content of the <tt>Link</tt> header field | |||
ield may not be secure, private or integrity-guaranteed, and due caution should | may not be secure, private, or integrity-guaranteed, so due caution should be e | |||
be exercised when using it, see <xref section="5" sectionFormat="of" target="LIN | xercised when using it (see <xref section="5" sectionFormat="of" target="RFC8288 | |||
K"/> for more details. In cases where the Deprecation header field value is in t | "/> for more details). In cases where the <tt>Deprecation</tt> header field valu | |||
he past, the client application developers <bcp14>MUST</bcp14> no longer assume | e is in the past, the client application developers <bcp14>MUST</bcp14> no longe | |||
that the behavior of the resource would remain the same as before the deprecatio | r assume that the behavior of the resource will remain the same as before the de | |||
n date. In cases where the Deprecation header field value is a date in the futur | precation date. In cases where the <tt>Deprecation</tt> header field value is a | |||
e, it can lead to information that otherwise might not be available. Therefore, | date in the future, it informs client application developers about the effective | |||
client application developers consuming the resource <bcp14>SHOULD</bcp14>, if p | date in the future for deprecation. Therefore, client application developers co | |||
ossible, consult the resource developer to discuss potential impact due to depre | nsuming the resource <bcp14>SHOULD</bcp14>, if possible, consult the resource de | |||
cation and plan for possible transition to a recommended resource(s).</t> | veloper to discuss potential impact due to deprecation and plan for possible tra | |||
nsition to a recommended resource(s).</t> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references anchor="sec-normative-references"> | <displayreference target="RFC9110" to="HTTP"/> | |||
<name>Normative References</name> | <displayreference target="RFC8288" to="LINK"/> | |||
<reference anchor="HTTP"> | ||||
<front> | ||||
<title>HTTP Semantics</title> | ||||
<author fullname="R. Fielding" initials="R." role="editor" surname="Fi | ||||
elding"/> | ||||
<author fullname="M. Nottingham" initials="M." role="editor" surname=" | ||||
Nottingham"/> | ||||
<author fullname="J. Reschke" initials="J." role="editor" surname="Res | ||||
chke"/> | ||||
<date month="June" year="2022"/> | ||||
<abstract> | ||||
<t>The Hypertext Transfer Protocol (HTTP) is a stateless application | ||||
-level protocol for distributed, collaborative, hypertext information systems. T | ||||
his document describes the overall architecture of HTTP, establishes common term | ||||
inology, and defines aspects of the protocol that are shared by all versions. In | ||||
this definition are core protocol elements, extensibility mechanisms, and the " | ||||
http" and "https" Uniform Resource Identifier (URI) schemes.</t> | ||||
<t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 723 | ||||
2, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="STD" value="97"/> | ||||
<seriesInfo name="RFC" value="9110"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9110"/> | ||||
</reference> | ||||
<reference anchor="LINK"> | ||||
<front> | ||||
<title>Web Linking</title> | ||||
<author fullname="M. Nottingham" initials="M." surname="Nottingham"/> | ||||
<date month="October" year="2017"/> | ||||
<abstract> | ||||
<t>This specification defines a model for the relationships between | ||||
resources on the Web ("links") and the type of those relationships ("link relati | ||||
on types").</t> | ||||
<t>It also defines the serialisation of such links in HTTP headers w | ||||
ith the Link header field.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8288"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8288"/> | ||||
</reference> | ||||
<reference anchor="STRUCTURED-FIELDS"> | ||||
<front> | ||||
<title>Structured Field Values for HTTP</title> | ||||
<author fullname="Mark Nottingham" initials="M." surname="Nottingham"> | ||||
<organization>Cloudflare</organization> | ||||
</author> | ||||
<author fullname="Poul-Henning Kamp" initials="P." surname="Kamp"> | ||||
<organization>The Varnish Cache Project</organization> | ||||
</author> | ||||
<date day="21" month="April" year="2024"/> | ||||
<abstract> | ||||
<t> This document describes a set of data types and associated alg | ||||
orithms | ||||
that are intended to make it easier and safer to define and handle | ||||
HTTP header and trailer fields, known as "Structured Fields", | ||||
"Structured Headers", or "Structured Trailers". It is intended for | ||||
use by specifications of new HTTP fields that wish to use a common | ||||
syntax that is more restrictive than traditional HTTP field values. | ||||
This document obsoletes RFC 8941. | ||||
</t> | <references anchor="sec-normative-references"> | |||
</abstract> | <name>Normative References</name> | |||
</front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.911 | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-sfbis-06"/> | 0.xml"/> | |||
</reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.828 | |||
<reference anchor="RFC2119"> | 8.xml"/> | |||
<front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.965 | |||
<title>Key words for use in RFCs to Indicate Requirement Levels</title | 1.xml"/> | |||
> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.211 | |||
<author fullname="S. Bradner" initials="S." surname="Bradner"/> | 9.xml"/> | |||
<date month="March" year="1997"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.817 | |||
<abstract> | 4.xml"/> | |||
<t>In many standards track documents several words are used to signi | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.859 | |||
fy the requirements in the specification. These words are often capitalized. Thi | 4.xml"/> | |||
s document defines these words as they should be interpreted in IETF documents. | ||||
This document specifies an Internet Best Current Practices for the Internet Comm | ||||
unity, and requests discussion and suggestions for improvements.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="2119"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
</reference> | ||||
<reference anchor="RFC8174"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</titl | ||||
e> | ||||
<author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
<date month="May" year="2017"/> | ||||
<abstract> | ||||
<t>RFC 2119 specifies common key words that may be used in protocol | ||||
specifications. This document aims to reduce the ambiguity by clarifying that on | ||||
ly UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
</reference> | ||||
<reference anchor="RFC8594"> | ||||
<front> | ||||
<title>The Sunset HTTP Header Field</title> | ||||
<author fullname="E. Wilde" initials="E." surname="Wilde"/> | ||||
<date month="May" year="2019"/> | ||||
<abstract> | ||||
<t>This specification defines the Sunset HTTP response header field, | ||||
which indicates that a URI is likely to become unresponsive at a specified poin | ||||
t in the future. It also defines a sunset link relation type that allows linking | ||||
to resources providing information about an upcoming resource or service sunset | ||||
.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8594"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8594"/> | ||||
</reference> | ||||
</references> | </references> | |||
<?line 192?> | ||||
<section anchor="implementation-status"> | <section anchor="acknowledgments" numbered="false"> | |||
<name>Implementation Status</name> | ||||
<t>Note to RFC Editor: Please remove this section before publication.</t> | ||||
<t>This section records the status of known implementations of the protoco | ||||
l defined by this specification at the time of posting of this Internet-Draft. T | ||||
he description of implementations in this section is intended to assist the IETF | ||||
in its decision processes in progressing drafts to RFCs. Please note that the l | ||||
isting of any individual implementation here does not imply endorsement by the I | ||||
ETF. Furthermore, no effort has been spent to verify the information presented h | ||||
ere that was supplied by IETF contributors. This is not intended as, and must no | ||||
t be construed to be, a catalog of available implementations or their features. | ||||
Readers are advised to note that | ||||
other implementations may exist.</t> | ||||
<t>According to RFC 7942, "this will allow reviewers and working groups to | ||||
assign due consideration to documents that have the benefit of running code, wh | ||||
ich may serve as evidence of valuable experimentation and feedback that have mad | ||||
e the implemented protocols more mature. It is up to the individual working grou | ||||
ps to use this information as they see fit".</t> | ||||
<section anchor="implementing-the-deprecation-header-field"> | ||||
<name>Implementing the Deprecation Header Field</name> | ||||
<t>This is a list of implementations that implement the deprecation head | ||||
er field:</t> | ||||
<t>Organization: Apollo</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Deprecation header field is returned when deprecated | ||||
functionality (as declared in the GraphQL schema) is accessed</t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://www.npmjs.com/package/apollo-server-tools</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: Zalando</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Deprecation header field is recommended as the prefe | ||||
rred way to communicate API deprecation in Zalando API designs.</t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://opensource.zalando.com/restful-api-guidelines/ | ||||
#deprecation</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: Palantir Technologies</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Deprecation header field is incorporated in code gen | ||||
erated by conjure-java, a CLI to generate Java POJOs and interfaces from Conjure | ||||
API definitions</t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://github.com/palantir/conjure-java</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: E-Voyageurs Technologies</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Deprecation header field is incorporated in Hesperid | ||||
es, a configuration management tool providing universal text file templating and | ||||
properties editing through a REST API or a webapp.</t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://github.com/voyages-sncf-technologies/hesperide | ||||
s/blob/master/documentation/lightweight-architecture-decision-records/deprecated | ||||
_endpoints.md</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: Open-Xchange</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Deprecation header field is used in Open-Xchange app | ||||
suite-middleware</t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://github.com/open-xchange/appsuite-middleware</t | ||||
> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: MediaWiki</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Core REST API of MediaWiki would use Deprecation hea | ||||
der field for endpoints that have been deprecated because a new endpoint provide | ||||
s the same or better functionality.</t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://phabricator.wikimedia.org/T232485</t> | ||||
</li> | ||||
</ul> | ||||
<t>In addition to the above list, the Deprecation link relation is retur | ||||
ned in the Registration Data Access Protocol (RDAP) notices to indicate deprecat | ||||
ion of jCard in favor of JSContact. RDAP is specified in the Internet Draft for | ||||
Using JSContact in Registration Data Access Protocol (RDAP) JSON Responses https | ||||
://datatracker.ietf.org/doc/draft-ietf-regext-rdap-jscontact/.</t> | ||||
</section> | ||||
<section anchor="implementing-the-concept"> | ||||
<name>Implementing the Concept</name> | ||||
<t>This is a list of implementations that implement the general concept, | ||||
but do so using different mechanisms:</t> | ||||
<t>Organization: Zapier</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Zapier uses two custom HTTP header fields named <tt> | ||||
X-API-Deprecation-Date</tt> and <tt>X-API-Deprecation-Info</tt></t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://zapier.com/engineering/api-geriatrics/</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: IBM</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: IBM uses a custom HTTP header field named <tt>Deprec | ||||
ated</tt></t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://www.ibm.com/support/knowledgecenter/en/SS42VS_ | ||||
7.3.1/com.ibm.qradar.doc/c_rest_api_getting_started.html</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: Ultipro</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Ultipro uses the HTTP <tt>Warning</tt> header field | ||||
as described in Section 5.5 of RFC 9111 with code <tt>299</tt></t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://connect.ultipro.com/api-deprecation</t> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: Clearbit</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: Clearbit uses a custom HTTP header field named <tt>X | ||||
-API-Warn</tt></t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://blog.clearbit.com/dealing-with-deprecation/</t | ||||
> | ||||
</li> | ||||
</ul> | ||||
<t>Organization: PayPal</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Description: PayPal uses a custom HTTP header field named <tt>Pay | ||||
Pal-Deprecated</tt></t> | ||||
</li> | ||||
<li> | ||||
<t>Reference: https://github.com/paypal/api-standards/blob/master/ap | ||||
i-style-guide.md#runtime</t> | ||||
</li> | ||||
</ul> | ||||
</section> | ||||
</section> | ||||
<section anchor="changes"> | ||||
<name>Changes from Draft-08</name> | ||||
<t>This revision has made the following changes:</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
<t>Addresses comments from Gen-ART, ARTART, SECDIR</t> | ||||
</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="acknowledgments"> | ||||
<name>Acknowledgments</name> | <name>Acknowledgments</name> | |||
<t>The authors would like to thank Nikhil Kolekar, Darrel Miller, Mark Not | <t>The authors would like to thank <contact fullname="Nikhil Kolekar"/>, | |||
tingham, and Roberto Polli for their contributions.</t> | <contact fullname="Darrel Miller"/>, <contact fullname="Mark | |||
Nottingham"/>, and <contact fullname="Roberto Polli"/> for their | ||||
contributions.</t> | ||||
<t>The authors take all responsibility for errors and omissions.</t> | <t>The authors take all responsibility for errors and omissions.</t> | |||
</section> | </section> | |||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
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 | ||||
/H8A6nojkkVEAAA= | ||||
</rfc> | </rfc> | |||
End of changes. 29 change blocks. | ||||
635 lines changed or deleted | 214 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |