Primeiro Salto na Requisição

Para ver os cabeçalhos de uma requisição GET, sem mostrar o corpo na tela, use o comando curl -D -o /dev/null. Isso faz um GET, diferente de curl -I, que faz um HEAD. Sem -L, o curl para na primeira resposta de redirecionamento. Para acompanhar os redirecionamentos HTTP até a resposta final, use -L e um limite de saltos.

O teste que falta antes de publicar um link curto: HEAD, GET e redirecionamentos

Exemplo de Laboratório

Salve o código abaixo como redirect-lab.mjs e execute node redirect-lab.mjs. O laboratório acima é um exemplo deliberadamente quebrado, servindo para demonstrar por que vale comparar os métodos, não para sugerir que HEAD e GET devam levar a destinos diferentes.

Interpretando os Testes de Verdade

Há três perguntas diferentes, e cada comando responde só a parte delas:

  • Qual é o primeiro salto? Leia o código 3xx e o cabeçalho Location da primeira resposta. O valor pode ser relativo, como /pagina-nova; nesse caso, ele é resolvido a partir da URL atual.
  • HEAD e GET concordam? Compare as respostas iniciais. Se não concordarem, investigue a aplicação, o proxy ou a CDN antes de publicar o link.
  • Onde termina a cadeia HTTP? Use GET com -L e confira cada resposta, a URL efetiva e o código final. Um 200 no fim significa que houve uma resposta bem-sucedida naquele ponto da cadeia HTTP; não prova que a página mostrada ao usuário seja o destino esperado.

Detalhes Importantes

  • Uma página intermediária pode responder 200 e depois navegar por JavaScript ou por meta refresh. O curl não executa JavaScript como um navegador, e -L acompanha redirecionamentos HTTP, não todos os mecanismos de navegação de uma página.
  • Para links sob seu controle, a regra prática é simples: compare HEAD e GET, siga a cadeia HTTP com um limite e faça uma última verificação no navegador. São testes complementares, não três maneiras de obter a mesma resposta.

Conclusão

Para garantir a consistência do link curto, é crucial comparar HEAD e GET, além de seguir a cadeia HTTP até o destino final. Isso ajuda a evitar erros e garantir que o link curto levará ao destino esperado, independentemente de como a página é navegada.

AntesCurtoLinkPublicarTeste