search

Found

info Visão geral

Cole um cabeçalho HTTP Link (RFC 8288). Cada link-value é dividido em URI, tokens rel e parâmetros com análise segura entre aspas.

📘 Como usar

  1. Cole a string do cabeçalho Link no campo de entrada
  2. Confira os cartões por link-value e os contadores de resumo
  3. Examine cada chip rel e parâmetros como title

Parser do cabeçalho HTTP Link (RFC 8288)

Formato RFC 8288. Separe os link-values com vírgula e os parâmetros com ponto e vírgula.

Link-values
Tokens rel
0
Rels únicos
0
Parâmetros
0
Copiado

※ link-value = "<" URI ">" *( OWS ";" OWS link-param ) (RFC 8288 seção 3)

※ Paginação (next/prev/first/last), preload, preconnect, alternate hreflang e outras verificações de resposta de API

Article

Parser do cabeçalho HTTP Link (RFC 8288) | Divide link-values em rel e parâmetros

Cole um cabeçalho Link de uma resposta HTTP e divida-o em link-values separados por vírgulas; cada um é decomposto em seu <URI>, seus tokens rel e parâmetros como title. Um tokenizador que reconhece aspas nunca corta numa vírgula que esteja dentro de aspas ou dentro de <>.

💡 Sobre esta ferramenta

Você chama uma API paginada, roda curl -I e recebe um cabeçalho Link que empilha next, prev, first e last numa única linha. Saber a olho qual URI carrega cada rel é incômodo, e assim que a query string contém uma vírgula ou um valor title envolve uma vírgula entre aspas, um .split(",") ingênuo quebra e deforma as URLs.

Este parser segue a gramática da seção 3 do RFC 8288: link-value = "<" URI ">" *( OWS ";" OWS link-param ). Ele primeiro divide nas vírgulas de nível superior acompanhando a profundidade de <> e o estado das aspas, de modo que as vírgulas dentro de um URI ou de uma string entre aspas são preservadas. Cada link-value é então dividido nos pontos e vírgulas em parâmetros, e cada par name=value ou name="entre aspas" é extraído, removendo as sequências de escape com barra invertida dentro das aspas. Você obtém quatro contadores — link-values, tokens rel, rels únicos e parâmetros totais — além de um cartão por link com o rel exibido como chips e os demais parâmetros como chave = valor.

🧐 Perguntas frequentes

P. O que acontece quando rel tem mais de um valor? R. rel é uma lista de tokens separados por espaços, então rel="prev next" é válido. Cada token vira seu próprio chip e alimenta tanto o total de tokens rel quanto a contagem de rels únicos.

P. Uma vírgula dentro de um title entre aspas vai quebrar a divisão? R. Não. Um valor como title="Página 2, rascunho" mantém sua vírgula; o parser verifica se está dentro de aspas antes de decidir onde um link-value termina.

P. Meu URI tem ; e , na query string. Isso é um problema? R. Não. Tudo o que está entre < e > é capturado literalmente como o URI, então os caracteres reservados dentro dele nunca disparam uma divisão.

P. Um dos meus link-values está malformado. A análise inteira falha? R. Não. Um link-value sem o < de abertura é omitido das contagens, e os demais link-values bem formados continuam sendo analisados.

P. Há um limite de entrada? R. O cabeçalho Link deve ter no máximo 20.000 caracteres; uma entrada maior exibe um erro.

📚 Curiosidades

O cabeçalho Link é, em essência, o elemento HTML <link> promovido a cabeçalho de resposta. Ele nasceu no RFC 5988 e hoje é padronizado pelo RFC 8288. A API REST do GitHub se apoia em rel="next"/rel="prev" para a paginação, e a era HTTP/2 popularizou rel="preload" como dica de busca que os navegadores executam antes de analisar o corpo. Os nomes de relação ficam no registro IANA de Link Relation Types, que reúne tokens conhecidos como alternate, canonical e stylesheet, e a especificação também permite usar um URI absoluto como tipo de relação de extensão.