Skip to main content
Validação HTML

Recurso HTTP não recuperável. O estado HTTP do servidor remoto foi: 429.

Sobre este problema HTML

O código de estado HTTP 429 está definido na RFC 6585 e sinaliza que um cliente enviou demasiados pedidos num determinado período de tempo. Quando o Validador W3C encontra o seu HTML, não apenas analisa a marcação — também tenta recuperar recursos vinculados como folhas de estilos, scripts e imagens para realizar validação completa. Se algum desses recursos estiver alojado num servidor que aplica limites de taxa (o que é comum com CDNs, fornecedores de API e plataformas de alojamento populares), o servidor pode rejeitar o pedido do validador com uma resposta 429.

Isto não é um erro de sintaxe no seu HTML. A sua marcação pode estar perfeitamente válida. O problema é ambiental: o servidor remoto está temporariamente a recusar ligações do validador. No entanto, porque o validador não consegue recuperar o recurso, não pode verificar completamente tudo sobre a sua página, por isso sinaliza o problema.

Causas comuns

  • Validação repetida rápida: Executar o validador muitas vezes em sucessão rápida contra páginas que referenciam os mesmos recursos externos.
  • Limites de taxa partilhados: O serviço Validador W3C partilha endereços IP de saída, pelo que os pedidos de validação de outros utilizadores podem contar para o mesmo limite de taxa no servidor remoto.
  • Limitação de taxa agressiva do lado do servidor: O servidor remoto ou a sua CDN (por exemplo, Cloudflare, AWS CloudFront) tem regras rigorosas de limitação de taxa que bloqueiam clientes HTTP automatizados rapidamente.
  • Muitos recursos externos: Uma página que referencia numerosos recursos do mesmo anfitrião externo pode desencadear limites de taxa numa única passagem de validação.

Como corrigir

Espere e tente novamente

Como o 429 é uma condição temporária, simplesmente esperar alguns minutos e revalidar é frequentemente suficiente. Alguns servidores incluem um cabeçalho Retry-After na resposta 429 indicando quanto tempo esperar, embora o validador possa não mostrar este detalhe.

Reduza a frequência de validação

Se está a executar validação automatizada (por exemplo, num pipeline CI/CD), espaçe os seus pedidos. Evite validar dezenas de páginas em sucessão rápida.

Aloje recursos localmente

Se controla o site, considere alojar recursos críticos autonomamente em vez de depender de CDNs de terceiros. Isto dá-lhe controlo total sobre a disponibilidade e elimina problemas de limite de taxa de terceiros durante a validação.

Ajuste os limites de taxa do servidor

Se é proprietário do servidor que está a devolver 429, reveja a sua configuração de limitação de taxa. Pode querer incluir na lista branca o agente de utilizador ou intervalo de IP do Validador W3C, ou relaxar limites que são excessivamente agressivos para ferramentas automatizadas legítimas.

Exemplos

Página que pode desencadear o problema

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <link rel="stylesheet" href="https://cdn.example.com/styles/main.css">
  <script src="https://cdn.example.com/scripts/app.js"></script>
</head>
<body>
  <h1>Hello, world!</h1>
</body>
</html>

Se cdn.example.com limitar a taxa do validador, tanto a obtenção da folha de estilos como do script podem falhar com um 429, produzindo duas mensagens “Recurso HTTP não recuperável”.

Correção: alojar autonomamente os recursos

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <link rel="stylesheet" href="/css/main.css">
  <script src="/js/app.js"></script>
</head>
<body>
  <h1>Hello, world!</h1>
</body>
</html>

Ao servir main.css e app.js do seu próprio domínio, elimina a dependência dos limites de taxa de um servidor de terceiros durante a validação.

Correção: reduza as dependências externas

Se o alojamento autónomo não for viável, minimize o número de recursos externos de um único anfitrião para diminuir a hipótese de atingir limites de taxa:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
  <link rel="stylesheet" href="https://cdn.example.com/bundle.css">
</head>
<body>
  <h1>Hello, world!</h1>
  <script src="https://cdn.example.com/bundle.js"></script>
</body>
</html>

Agrupar múltiplos ficheiros em recursos únicos reduz o número total de pedidos que o validador precisa de fazer ao servidor externo, tornando os erros de limite de taxa menos prováveis.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.