Skip to content

Treat 429 like a 5xx in the session request algorithm - #270

Open
MarshallOfSound wants to merge 1 commit into
w3c:mainfrom
MarshallOfSound:dbsc-429-transient
Open

MarshallOfSound wants to merge 1 commit into
w3c:mainfrom
MarshallOfSound:dbsc-429-transient

Conversation

@MarshallOfSound

Copy link
Copy Markdown

A 429 from the registration or refresh endpoint currently sits with network errors and 407 in the "send a request" algorithm, so the user agent keeps the session but the failure reads as "unreachable". A 429 is the server asking the client to slow down, so it fits better alongside 5xx: keep the session, report it as server_error, and let the user agent apply its refresh backoff.

This change:

  • removes 429 from the network error / 407 step,
  • excludes 429 from the generic 4xx "terminate the session" step,
  • adds 429 to the 5xx step (keep the session, may back off),
  • mentions 429 in the server_error description for Secure-Session-Skipped.

Chromium change doing the same: https://chromium-review.googlesource.com/c/chromium/src/+/8613310

A 429 from the registration or refresh endpoint currently sits with
network errors and 407: the user agent returns without terminating the
session, and the Secure-Session-Skipped guidance implies "unreachable".
A 429 is a server response asking the client to slow down, so it fits
better with the 5xx branch: keep the session, surface it as
server_error, and let the user agent apply its refresh backoff.

This moves 429 out of the network-error step, excludes it from the
generic 4xx termination step, and adds it to the 5xx/backoff step and
the server_error token description.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant