1001Ferramentas
⏱️Dev

Parse Retry-After

Faz parse do header Retry-After (segundos ou HTTP-date) e retorna tempo de espera.

Espera

Quanto tempo esperar depois de um 429 ou 503

Retry-After é o cabeçalho que o servidor usa para dizer quando vale a pena tentar de novo. Ele aparece junto de 429, quando você estourou o limite de requisições, de 503, quando o serviço está fora do ar temporariamente, e de 301/302 em alguns cenários de manutenção. O que confunde é que ele aceita dois formatos completamente diferentes no mesmo campo.

Pode vir como um número puro, e aí são segundos a partir de agora — "Retry-After: 120" quer dizer daqui a dois minutos. Ou pode vir como data HTTP completa, no estilo "Wed, 21 Oct 2026 07:28:00 GMT", e aí é um instante absoluto. Cole qualquer um dos dois e a página traduz: o número vira também minutos, e a data vira a quantidade de segundos que falta a partir deste momento.

Do lado do cliente, respeitar esse valor é o que separa um retry educado de um que piora a situação. Se o servidor pediu 120 segundos, tentar a cada 5 só aumenta a fila. E quando o cabeçalho não vem, o padrão razoável é backoff exponencial com jitter — um atraso que cresce a cada falha, com uma variação aleatória para evitar que todos os clientes voltem no mesmo instante.

Perguntas frequentes

O valor em data pode ser no passado?
Pode acontecer, seja por relógio dessincronizado, seja porque a resposta ficou parada em algum cache. A página mostra a diferença negativa em vez de esconder o caso. O tratamento seguro no cliente é considerar zero e aplicar o backoff próprio, nunca tentar imediatamente em laço.
Preciso mandar Retry-After em toda resposta 429?
Não é obrigatório pela especificação, mas ajuda muito quem consome a sua API — sem ele, o cliente precisa adivinhar. Se o seu limite é por janela fixa, o valor natural é o tempo que falta para a janela virar.
O que o navegador faz com esse cabeçalho sozinho?
Em navegação normal, quase nada: ele não repete a requisição automaticamente por causa dele. Quem lê o Retry-After é o seu código — a chamada fetch, o cliente HTTP do backend, o worker que processa fila. Em 503 com Retry-After curto, alguns crawlers e proxies respeitam o valor.

Ferramentas Relacionadas