Parser Messaggi HTTP

Analizza e ispeziona messaggi HTTP/1.x e HTTP/2 incluse richieste, risposte e output verbose di curl. Visualizza header, codici di stato e body in un formato strutturato. Supporta il rilevamento automatico del tipo di body per contenuti JSON, HTML e XML.

Specifiche

Casi d'uso comuni

  • Debug delle richieste HTTP dalla scheda network del browser
  • Analisi delle risposte API
  • Analisi dell'output curl -v per la risoluzione dei problemi
  • Ispezione dei payload webhook
  • Revisione degli header HTTP per l'analisi di sicurezza

Funzionalità

  • Analisi di richieste e risposte HTTP/1.x e HTTP/2
  • Analisi del formato di output verbose curl -v
  • Visualizzazione dei codici di stato con categorie codificate per colore (2xx, 3xx, 4xx, 5xx)
  • Separazione degli header di richiesta e risposta per l'output curl
  • Rilevamento automatico del tipo di contenuto del body (JSON, HTML, XML)
  • Rendering dinamico dello strumento per il body (caricamento pigro di JSONTool, HTMLTool, ecc. per il contenuto del body)
  • Espansione/compressione delle sezioni body
  • Copia header o body negli appunti

Esempi

Richiesta HTTP GET

Provalo →

Una semplice richiesta GET con header

GET /api/users HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer token123

Risposta HTTP

Provalo →

Una risposta 200 OK con body JSON

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 27

{"name":"John","age":30}

Output curl -v

Provalo →

Output verbose di curl con richiesta e risposta

* 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"}

Suggerimenti

  • Incolla l'output di curl -v direttamente: gli header di richiesta e risposta vengono analizzati separatamente.
  • Clicca "Decodifica come JSON/HTML/XML" per concatenare il body al decodificatore appropriato.
  • I codici di stato sono codificati per colore: verde (2xx), blu (3xx), giallo (4xx), rosso (5xx).

Approfondimenti Parser Messaggi HTTP

I messaggi HTTP sono le unita fondamentali di comunicazione nel protocollo HTTP (Hypertext Transfer Protocol). Ogni interazione tra un client web e un server consiste in un messaggio di richiesta e un messaggio di risposta. Comprendere la loro struttura e essenziale per il debug delle API, l'analisi del traffico di rete e la costruzione di servizi web.

Una richiesta HTTP inizia con una riga di richiesta contenente il metodo (GET, POST, PUT, DELETE), il percorso di destinazione e la versione del protocollo. Seguono i campi header (coppie chiave-valore), una riga vuota e un body opzionale. Il metodo indica l'azione prevista: GET recupera dati, POST invia dati, PUT sostituisce una risorsa, DELETE la rimuove e PATCH la aggiorna parzialmente.

Una risposta HTTP inizia con una riga di stato contenente la versione del protocollo, un codice di stato a tre cifre e una frase di motivazione. I codici di stato sono raggruppati per classe: 2xx per successo (200 OK, 201 Created), 3xx per reindirizzamento (301 Moved, 304 Not Modified), 4xx per errori del client (400 Bad Request, 401 Unauthorized, 404 Not Found) e 5xx per errori del server (500 Internal Server Error, 502 Bad Gateway).

Lo strumento da riga di comando curl con il flag -v (verbose) produce sia la richiesta che la risposta in un formato distintivo usando > per i dati inviati e < per i dati ricevuti. Questo formato di output e uno dei modi piu comuni in cui gli sviluppatori incontrano messaggi HTTP grezzi, rendendo l'analisi di curl -v una capacita di debug essenziale.

HTTP/1.1 e basato su testo e invia una richiesta per connessione TCP alla volta (il pipelining esiste ma e scarsamente supportato). HTTP/2 e un protocollo binario che multiplexa piu richieste su una singola connessione, supporta il server push e comprime gli header con HPACK. HTTP/2 riduce significativamente la latenza per i siti web moderni. La semantica, ovvero metodi, codici di stato e header, rimane la stessa in entrambe le versioni; solo il formato sul filo cambia.

Nell'output di curl -v, le righe che iniziano con > sono dati inviati al server (la richiesta), le righe che iniziano con < sono dati ricevuti dal server (la risposta) e le righe che iniziano con * sono messaggi informativi di curl sui dettagli della connessione e la negoziazione TLS. Una riga vuota contenente solo > o < separa gli header dal body. Questo strumento analizza automaticamente tutte e tre le sezioni.

I codici di stato seguono uno schema numerico ben definito: i codici 1xx sono informativi (100 Continue), 2xx indicano successo (200 OK, 201 Created, 204 No Content), 3xx segnalano reindirizzamento (301 Permanent, 302 Found, 304 Not Modified), 4xx rappresentano errori del client (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests) e 5xx coprono errori del server (500 Internal Error, 502 Bad Gateway, 503 Service Unavailable).

← Torna a tutti gli strumenti