Skip to content

Commit 820442f

Browse files
committed
Address feedback on API Stewardship LT meeting
1 parent c6ff30f commit 820442f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

azure/Guidelines.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,19 +1039,21 @@ The HTTP Standard does not allow precondition headers to be ignored, as it can b
10391039

10401040
<a href="#condreq-unsupported-error" name="condreq-unsupported-error">:white_check_mark:</a> **DO** return the appropriate precondition failed error response if the service cannot verify the truth of the precondition.
10411041

1042+
Note: A GA service that currently ignores precondition headers should not switch to honoring them as this could break production applications. This change should only be made prior to GA for the service or as part of a formal breaking change.
1043+
10421044
While conditional requests can be implemented using last modified dates, entity tags ("ETags") are strongly
10431045
preferred since last modified dates cannot distinguish updates made less than a second apart.
10441046

10451047
<a href="#condreq-return-etags" name="condreq-return-etags">:ballot_box_with_check:</a> **YOU SHOULD** return an `ETag` with any operation returning the resource or part of a resource or any update of the resource (whether the resource is returned or not).
10461048

10471049
#### Conditional Request behavior
10481050

1049-
This section gives a summary of the processing to perform for conditional headers.
1051+
This section gives a summary of the processing to perform for precondition headers.
10501052
See the [Conditional Requests section of the HTTP Standard][] for details on how and when to evaluate these headers.
10511053

10521054
[Conditional Requests section of the HTTP Standard]: https://datatracker.ietf.org/doc/html/rfc9110#name-conditional-requests
10531055

1054-
<a href="#condreq-for-read-behavior" name="condreq-for-read-behavior">:white_check_mark:</a> **DO** adhere to the following table for processing a GET request with conditional headers:
1056+
<a href="#condreq-for-read-behavior" name="condreq-for-read-behavior">:white_check_mark:</a> **DO** adhere to the following table for processing a GET request with precondition headers:
10551057

10561058
| GET Request | Return code | Response |
10571059
|:------------|:------------|:--------------------------------------------|
@@ -1060,7 +1062,7 @@ See the [Conditional Requests section of the HTTP Standard][] for details on how
10601062

10611063
For more control over caching, please refer to the `cache-control` [HTTP header](https://developer.mozilla.org/docs/Web/HTTP/Headers/Cache-Control).
10621064

1063-
<a href="#condreq-behavior" name="condreq-behavior">:white_check_mark:</a> **DO** adhere to the following table for processing a PUT, PATCH, or DELETE request with conditional headers:
1065+
<a href="#condreq-behavior" name="condreq-behavior">:white_check_mark:</a> **DO** adhere to the following table for processing a PUT, PATCH, or DELETE request with precondition headers:
10641066

10651067
| Operation | Header | Value | ETag check | Return code | Response |
10661068
|:------------|:--------------|:------|:-----------|:------------|----------------|

0 commit comments

Comments
 (0)