Skip to content
This repository was archived by the owner on Jul 7, 2025. It is now read-only.

Commit 7a97bb7

Browse files
authored
Merge pull request #25 from reschke/patch-2
"field" terminology (fixes #23)
2 parents fab5e10 + 19e36e2 commit 7a97bb7

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

draft-ietf-httpapi-deprecation-header.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ This specification uses the Augmented Backus-Naur Form (ABNF) notation of {{!RFC
6666

6767
The term "resource" is to be interpreted as defined in {{Section 2 of HTTP}}.
6868

69-
# The Deprecation HTTP Response Header
69+
# The Deprecation HTTP Response Header Field
7070

7171
The `Deprecation` HTTP response header field allows a server to communicate to a client that the resource in context of the message is or will be deprecated.
7272

@@ -97,7 +97,7 @@ Resources are free to define such an increased scope, and usually this scope wil
9797

9898
Using such an increased scope still may make sense, as deprecation information is only a hint anyway. It is optional information that cannot be depended on, and clients should always be implemented in ways that allow them to function without Deprecation information. Increased scope information may help clients to glean additional hints from related resources and, thus, might allow them to implement behavior that allows them to make educated guesses about resources becoming deprecated.
9999

100-
For example, an API might not use Deprecation headers on all of its resources, but only on designated resources such as the API's home document. This means that deprecation information is available, but in order to get it, clients have to periodically inspect the home document. In this example, the extended context of the Deprecation header would be all resources provided by the API, while the visibility of the information would only be on the home document.
100+
For example, an API might not use Deprecation header fields on all of its resources, but only on designated resources such as the API's home document. This means that deprecation information is available, but in order to get it, clients have to periodically inspect the home document. In this example, the extended context of the Deprecation header field would be all resources provided by the API, while the visibility of the information would only be on the home document.
101101

102102

103103
# The Deprecation Link Relation Type
@@ -109,14 +109,14 @@ This specification places no restrictions on the representation of the linked de
109109

110110
## Documentation
111111

112-
The purpose of the `Deprecation` header is to provide a hint about deprecation to the resource consumer. Upon reception of the `Deprecation` header, the client developer can look up the resource's documentation in order to find deprecation related information. The resource provider can provide a link to the resource documentation using a `Link` header with relation type `deprecation` as shown below:
112+
The purpose of the `Deprecation` header field is to provide a hint about deprecation to the resource consumer. Upon reception of the `Deprecation` header field, the client developer can look up the resource's documentation in order to find deprecation related information. The resource provider can provide a link to the resource documentation using a `Link` header field with relation type `deprecation` as shown below:
113113

114114
Link: <https://developer.example.com/deprecation>;
115115
rel="deprecation"; type="text/html"
116116

117117
In this example the linked content provides additional information about deprecation of the resource context. There is no Deprecation header field in the response, and thus the resource is not (yet) deprecated. However, the resource already exposes a link where information is available how deprecation is managed for the resource context. This may be documentation explaining the use of the Deprecation header field, and also explaining under which circumstances and with which policies (announcement before deprecation; continued operation after deprecation) deprecation might be happening.
118118

119-
The following example uses the same link header, but also announces a deprecation date using a Deprecation header field:
119+
The following example uses the same link header field, but also announces a deprecation date using a Deprecation header field:
120120

121121
Deprecation: Sun, 11 Nov 2018 23:59:59 GMT
122122
Link: <https://developer.example.com/deprecation>;
@@ -127,7 +127,7 @@ Given that the deprecation date is in the past, the linked information resource
127127

128128
# Sunset
129129

130-
In addition to the deprecation related information, if the resource provider 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 header field {{?RFC8594}} can be used in addition to the `Deprecation` header.
130+
In addition to the deprecation related information, if the resource provider 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 header field {{?RFC8594}} can be used in addition to the `Deprecation` header field.
131131

132132
The timestamp given in the `Sunset` header field MUST NOT be earlier than the one given in the `Deprecation` header field.
133133

@@ -142,9 +142,9 @@ The act of deprecation does not change any behavior of the resource. Deprecated
142142

143143
# IANA Considerations
144144

145-
## The Deprecation HTTP Response Header
145+
## The Deprecation HTTP Response Header Field
146146

147-
The `Deprecation` response header should be added to the permanent registry of message header fields (see {{!RFC3864}}).
147+
The `Deprecation` response header field should be added to the permanent registry of message header fields (see {{!RFC3864}}).
148148

149149
Header Field Name: Deprecation
150150

@@ -158,7 +158,7 @@ The `Deprecation` response header should be added to the permanent registry of m
158158
Change controller: IETF
159159

160160
Specification document: this specification,
161-
Section 2 "The Deprecation HTTP Response Header"
161+
Section 2 "The Deprecation HTTP Response Header Field"
162162

163163

164164

@@ -191,23 +191,23 @@ other implementations may exist.
191191

192192
According to RFC 7942, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".
193193

194-
## Implementing the Deprecation Header
194+
## Implementing the Deprecation Header Field
195195

196196
This is a list of implementations that implement the deprecation header field:
197197

198198
Organization: Apollo
199199

200-
- Description: Deprecation header is returned when deprecated functionality (as declared in the GraphQL schema) is accessed
200+
- Description: Deprecation header field is returned when deprecated functionality (as declared in the GraphQL schema) is accessed
201201
- Reference: https://www.npmjs.com/package/apollo-server-tools
202202

203203
Organization: Zalando
204204

205-
- Description: Deprecation header is recommended as the preferred way to communicate API deprecation in Zalando API designs.
205+
- Description: Deprecation header field is recommended as the preferred way to communicate API deprecation in Zalando API designs.
206206
- Reference: https://opensource.zalando.com/restful-api-guidelines/#deprecation
207207

208208
Organization: Palantir Technologies
209209

210-
- Description: Deprecation header is incorporated in code generated by conjure-java, a CLI to generate Java POJOs and interfaces from Conjure API definitions
210+
- Description: Deprecation header field is incorporated in code generated by conjure-java, a CLI to generate Java POJOs and interfaces from Conjure API definitions
211211
- Reference: https://github.com/palantir/conjure-java
212212

213213
Organization: IETF Internet Draft, Registration Protocols Extensions
@@ -217,17 +217,17 @@ Organization: IETF Internet Draft, Registration Protocols Extensions
217217

218218
Organization: E-Voyageurs Technologies
219219

220-
* Description: Deprecation header is incorporated in Hesperides, a configuration management tool providing universal text file templating and properties editing through a REST API or a webapp.
220+
* Description: Deprecation header field is incorporated in Hesperides, a configuration management tool providing universal text file templating and properties editing through a REST API or a webapp.
221221
* Reference: https://github.com/voyages-sncf-technologies/hesperides/blob/master/documentation/lightweight-architecture-decision-records/deprecated_endpoints.md
222222

223223
Organization: Open-Xchange
224224

225-
* Description: Deprecation header is used in Open-Xchange appsuite-middleware
225+
* Description: Deprecation header field is used in Open-Xchange appsuite-middleware
226226
* Reference: https://github.com/open-xchange/appsuite-middleware
227227

228228
Organization: MediaWiki
229229

230-
* Description: Core REST API of MediaWiki would use Deprecation header for endpoints that have been deprecated because a new endpoint provides the same or better functionality.
230+
* Description: Core REST API of MediaWiki would use Deprecation header field for endpoints that have been deprecated because a new endpoint provides the same or better functionality.
231231
* Reference: https://phabricator.wikimedia.org/T232485
232232

233233

@@ -238,27 +238,27 @@ This is a list of implementations that implement the general concept, but do so
238238

239239
Organization: Zapier
240240

241-
- Description: Zapier uses two custom HTTP headers named `X-API-Deprecation-Date` and `X-API-Deprecation-Info`
241+
- Description: Zapier uses two custom HTTP header fields named `X-API-Deprecation-Date` and `X-API-Deprecation-Info`
242242
- Reference: https://zapier.com/engineering/api-geriatrics/
243243

244244
Organization: IBM
245245

246-
- Description: IBM uses a custom HTTP header named `Deprecated`
246+
- Description: IBM uses a custom HTTP header field named `Deprecated`
247247
- Reference: https://www.ibm.com/support/knowledgecenter/en/SS42VS_7.3.1/com.ibm.qradar.doc/c_rest_api_getting_started.html
248248

249249
Organization: Ultipro
250250

251-
- Description: Ultipro uses the HTTP `Warning` header as described in Section 5.5 of {{!RFC7234}} with code `299`
251+
- Description: Ultipro uses the HTTP `Warning` header field as described in Section 5.5 of {{!RFC7234}} with code `299`
252252
- Reference: https://connect.ultipro.com/api-deprecation
253253

254254
Organization: Clearbit
255255

256-
- Description: Clearbit uses a custom HTTP header named `X-API-Warn`
256+
- Description: Clearbit uses a custom HTTP header field named `X-API-Warn`
257257
- Reference: https://blog.clearbit.com/dealing-with-deprecation/
258258

259259
Organization: PayPal
260260

261-
- Description: PayPal uses a custom HTTP header named `PayPal-Deprecated`
261+
- Description: PayPal uses a custom HTTP header field named `PayPal-Deprecated`
262262
- Reference: https://github.com/paypal/api-standards/blob/master/api-style-guide.md#runtime
263263

264264

@@ -268,14 +268,14 @@ The Deprecation header field SHOULD be treated as a hint, meaning that the resou
268268

269269
In cases where the Deprecation header field value is a date in the future, it can lead to information that otherwise might not be available. Therefore, applications consuming the resource SHOULD verify the resource documentation and if possible, consult the resource developer to discuss potential impact due to deprecation and plan for possible transition to recommended resource.
270270

271-
In cases where a `Link` header is used to provide documentation, one should assume that the content of the `Link` header field may not be secure, private or integrity-guaranteed, and due caution should be exercised when using it. Applications consuming the resource SHOULD check the referred resource documentation to verify authenticity and accuracy.
271+
In cases where a `Link` header field is used to provide documentation, one should assume that the content of the `Link` header field may not be secure, private or integrity-guaranteed, and due caution should be exercised when using it. Applications consuming the resource SHOULD check the referred resource documentation to verify authenticity and accuracy.
272272

273273

274274
# Examples
275275

276276
The following examples do not show complete HTTP interactions. They only show those HTTP header fields in a response that are relevant for resource deprecation.
277277

278-
The first example shows a deprecation header with date information:
278+
The first example shows a deprecation header field with date information:
279279

280280
Deprecation: Sun, 11 Nov 2018 23:59:59 GMT
281281

0 commit comments

Comments
 (0)