Skip to content

Commit dab060c

Browse files
sdatapixsdatapix
authored andcommitted
1 parent 69ade44 commit dab060c

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

draft-ietf-httpapi-idempotency-key-header.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ In mathematics and computer science, an idempotent operation is one that can be
4545

4646
Idempotency is important in building fault-tolerant HTTP APIs. An HTTP request method is considered `idempotent` if the intended effect on the server of multiple identical requests with that method is the same as the effect for a single such request. Per {{!RFC9110}}, the methods `OPTIONS`, `HEAD`, `GET`, `PUT` and `DELETE` are idempotent while methods `POST` and `PATCH` are not.
4747

48-
Let's say a client of an HTTP API wants to create (or update) a resource using a `POST` method. Repeating the request multiple times can result in duplication or incorrect updates. Consider a scenario where the client sent a `POST` request to the server, but the request timed out. The client is left uncertain about the status of the resource. It doesn't know if the resource was created or updated, or if the server even completed processing the request. Furthermore, the client does not know if it can safely retry the request.
48+
Let's say a client of an HTTP API wants to create (or update) a resource using a `POST` method. Repeating the request multiple times can result in duplication or incorrect updates. Consider a scenario where the client sent a `POST` request to the server, but the request timed out. The client is left uncertain about the status of the resource. It doesn't know if the resource was created or updated, or if the server even completed processing the request. Furthermore, the client does not know if it can safely retry the request.
4949

5050

5151
## Notational Conventions
@@ -54,15 +54,15 @@ Let's say a client of an HTTP API wants to create (or update) a resource using a
5454

5555
This specification uses the Augmented Backus-Naur Form (ABNF) notation of {{!RFC5234}} and includes, by reference, the IMF-fixdate rule as defined in Section 7.1.1.1 of {{!RFC7231}}.
5656

57-
The term "resource" is to be interpreted as defined in Section 2 of {{!RFC7231}}, that is identified by an URI.
57+
The term "resource" is to be interpreted as defined in Section 2 of {{!RFC7231}}, that is identified by an URI.
5858

5959
# The Idempotency-Key HTTP Request Header Field
6060

6161
An idempotency key is a unique value generated by the client which the resource uses to recognize subsequent retries of the same request. The `Idempotency-Key` HTTP request header field carries this value.
6262

6363
## Syntax
6464

65-
`Idempotency-Key` is an Item Structured Header {{!RFC8941}}. Its value MUST be a String (Section 3.3.3 of {{!RFC8941}}).
65+
`Idempotency-Key` is an Item Structured Header {{!RFC8941}}. Its value MUST be a String (Section 3.3.3 of {{!RFC8941}}).
6666

6767

6868
## Uniqueness of Idempotency Key
@@ -359,9 +359,14 @@ Second example shows an idempotency-key header field with key value using a rand
359359

360360
Idempotency-Key: "clkyoesmbgybucifusbbtdsbohtyuuwz"
361361

362-
363362
--- back
364363

364+
# Changes from Draft-05 {#changes}
365+
366+
This revision has made the following changes:
367+
* Added change log starting from previous draft
368+
* Correction in introduction
369+
* Added an implementer
365370

366371
# Acknowledgments
367372
{:numbered="false"}

0 commit comments

Comments
 (0)