Parser de Mensagens HTTP
Analise e inspecione mensagens HTTP/1.x e HTTP/2 incluindo requisicoes, respostas e saida verbosa do curl. Visualize headers, codigos de status e bodies em formato estruturado. Suporta deteccao automatica de tipo de body para conteudo JSON, HTML e XML.
Especificacoes
Casos de Uso Comuns
- Depurar requisicoes HTTP da aba de rede do navegador
- Analisar respostas de API
- Analisar saida curl -v para solucao de problemas
- Inspecionar payloads de webhook
- Revisar headers HTTP para analise de seguranca
Funcionalidades
- Analisar requisicoes e respostas HTTP/1.x e HTTP/2
- Analisar formato de saida verbosa curl -v
- Exibir codigos de status com categorias codificadas por cor (2xx, 3xx, 4xx, 5xx)
- Separar headers de requisicao e resposta para saida curl
- Deteccao automatica de tipo de conteudo do body (JSON, HTML, XML)
- Renderizacao dinamica de ferramenta de body (carrega lazy JSONTool, HTMLTool, etc. para conteudo do body)
- Expandir/recolher secoes do body
- Copiar headers ou body para a area de transferencia
Exemplos
Requisicao HTTP GET
Experimente →Uma requisicao GET simples com headers
GET /api/users HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer token123Resposta HTTP
Experimente →Uma resposta 200 OK com body JSON
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 27
{"name":"John","age":30}Saida curl -v
Experimente →Saida verbosa do curl com requisicao e resposta
* Trying 93.184.216.34:443...
* Connected to example.com
> GET /api HTTP/1.1
> Host: example.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
<
{"status":"ok"}Dicas
- Cole a saida curl -v diretamente - headers de requisicao e resposta sao analisados separadamente.
- Clique em "Decodificar como JSON/HTML/XML" para encadear o body ao decodificador apropriado.
- Codigos de status sao codificados por cor: verde (2xx), azul (3xx), amarelo (4xx), vermelho (5xx).
Entendendo Parser de Mensagens HTTP
Mensagens HTTP sao as unidades fundamentais de comunicacao no Hypertext Transfer Protocol. Toda interacao entre um cliente web e servidor consiste em uma mensagem de requisicao e uma mensagem de resposta. Entender sua estrutura e essencial para depurar APIs, analisar trafego de rede e construir servicos web.
Uma requisicao HTTP comeca com uma linha de requisicao contendo o metodo (GET, POST, PUT, DELETE), o caminho alvo e a versao do protocolo. Isso e seguido por campos de header (pares chave-valor), uma linha em branco e um body opcional. O metodo indica a acao pretendida: GET recupera dados, POST envia dados, PUT substitui um recurso, DELETE o remove e PATCH o atualiza parcialmente.
Uma resposta HTTP comeca com uma linha de status contendo a versao do protocolo, um codigo de status de tres digitos e uma frase de razao. Codigos de status sao agrupados por classe: 2xx para sucesso (200 OK, 201 Created), 3xx para redirecionamento (301 Moved, 304 Not Modified), 4xx para erros do cliente (400 Bad Request, 401 Unauthorized, 404 Not Found) e 5xx para erros do servidor (500 Internal Server Error, 502 Bad Gateway).
A ferramenta de linha de comando curl com a flag -v (verbose) exibe tanto a requisicao quanto a resposta em um formato distinto usando > para dados enviados e < para dados recebidos. Este formato de saida e uma das maneiras mais comuns que desenvolvedores encontram mensagens HTTP brutas, tornando o parse de curl -v uma capacidade essencial de depuracao.
HTTP/1.1 e baseado em texto e envia uma requisicao por conexao TCP por vez (pipelining existe mas e mal suportado). HTTP/2 e um protocolo binario que multiplexa multiplas requisicoes em uma unica conexao, suporta server push e comprime headers com HPACK. HTTP/2 reduz significativamente a latencia para sites modernos. A semantica — metodos, codigos de status e headers — permanece a mesma entre ambas as versoes; apenas o formato no fio difere.
Na saida curl -v, linhas comecando com > sao dados enviados ao servidor (a requisicao), linhas comecando com < sao dados recebidos do servidor (a resposta), e linhas comecando com * sao mensagens informativas do curl sobre detalhes de conexao e negociacao TLS. Uma linha em branco contendo apenas > ou < separa headers do body. Esta ferramenta analisa todas as tres secoes automaticamente.
Codigos de status seguem um esquema numerico bem definido: codigos 1xx sao informativos (100 Continue), 2xx indica sucesso (200 OK, 201 Created, 204 No Content), 3xx sinaliza redirecionamento (301 Permanent, 302 Found, 304 Not Modified), 4xx representa erros do cliente (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests) e 5xx cobre erros do servidor (500 Internal Error, 502 Bad Gateway, 503 Service Unavailable).