Header HTTP in JSON e tabella ordinata
Incolla header HTTP grezzi, oppure il blocco di header di un'email, e ottieni una tabella ordinata e filtrabile con una riga per header. Per portare gli header HTTP in JSON, quelli ripetuti come Set-Cookie confluiscono in un'unica riga con ogni valore elencato a parte, e l'intero insieme si copia come JSON. Lo strumento si limita a strutturare il testo che incolli: niente viene cercato, verificato o decodificato.
Parser header: come usarlo passo per passo
- Copia gli header: dalla scheda Rete degli strumenti per sviluppatori del browser, dall'output di
curl -io dall'inizio del sorgente di un'email. Incolla solo le righe di header, non il corpo che segue. - Incollali in Header grezzi. Il campo accetta fino a 5 MB (5.000.000 di caratteri).
- In Modalità di analisi scegli Email / RFC 5322 (predefinita) oppure HTTP rigoroso. La differenza è spiegata più sotto.
- Premi Analizza header. Si apre la schermata Header analizzati con una tabella di Nome e Valore, ordinata dalla A alla Z per nome, senza distinguere maiuscole e minuscole. I valori lunghi, come una firma DKIM, scorrono di lato dentro la tabella.
- Scrivi in Filtra per nome o valore per ridurre le righe. Il conteggio passa, per esempio, da «12 header» a «3 su 12 header», e il filtro non distingue maiuscole e minuscole.
- Premi Copia come JSON per mettere tutti gli header negli appunti. Modifica header riporta al testo incollato, che è ancora lì: puoi correggere una riga e analizzare di nuovo.
Header HTTP JSON: un esempio di input e output
Il blocco di esempio contiene una riga di stato di risposta (HTTP/1.1 200 OK), tre header normali, due righe Set-Cookie (una scritta in minuscolo) e un header Received ripiegato su una seconda riga.
Nella modalità predefinita «Email / RFC 5322» diventano quattro righe. I due cookie condividono una riga, il valore ripiegato di Received viene unito in una sola riga e la riga di stato compare tra quelle saltate, perché non ha un nome prima dei due punti. «Copia come JSON» restituisce:
{"Cache-Control": "no-store", "Content-Type": "text/html; charset=utf-8", "Received": "from mail.example.com by mx.example.net; Tue, 1 Oct 2024 09:00:00 +0000", "set-cookie": ["id=a3fWa; Path=/", "theme=dark"]}
La riga unita mantiene la prima grafia incontrata, set-cookie, e diventa un array perché l'header è comparso due volte. Un header che compare una volta sola resta una semplice stringa.
HTTP rigoroso o Email / RFC 5322: quale modalità scegliere
Le due modalità differiscono solo per ciò che fanno con una riga che inizia con uno spazio o una tabulazione.
- Email / RFC 5322: la riga viene unita a quella sopra con un solo spazio. Va bene per gli header delle email, dove valori lunghi come Received e DKIM-Signature sono spezzati su più righe.
- HTTP rigoroso: la riga viene rifiutata ed elencata come saltata, non unita. Va bene per richieste e risposte HTTP, dove una riga rientrata non è una continuazione e vuoi vederla segnalata.
Se non sei sicuro, lascia quella predefinita. È la più indulgente delle due.
Che cosa salta, unisce e lascia stare il parser
- La divisione avviene al primo due punti. Il nome è tutto ciò che sta prima e il valore tutto ciò che sta dopo, quindi un valore che contiene due punti, come una data o un URL, resta intero.
- Righe saltate: una riga senza nome prima dei due punti non è un header. Vale per una riga di stato HTTP (
HTTP/1.1 200 OK), una riga di richiesta (GET /index.html HTTP/1.1) e per il testo sciolto. Una nota sopra la tabella conta le righe saltate e mostra le prime cinque. - Pseudo-header: i nomi HTTP/2 che iniziano con due punti, come
:authoritye:method, sono accettati e finiscono in cima. - Nomi ripetuti: vengono confrontati senza distinguere maiuscole e minuscole. Ogni valore mantiene la propria riga nella tabella, nell'ordine in cui è comparso.
- Valori vuoti: un header senza nulla dopo i due punti appare come «(vuoto)».
- Le righe vuote vengono ignorate, ma non chiudono gli header. Ogni riga successiva con un nome e i due punti, anche una del corpo di un'email, diventa una riga della tabella: copia quindi solo il blocco di header.
Leggere header email: che cosa non fa questo parser
Struttura il testo e nient'altro. Non ricostruisce il percorso di un messaggio, non verifica SPF, DKIM o DMARC, non giudica se un'email sia spam o autentica e non decodifica i valori: le parole codificate come =?UTF-8?B?…?= e le stringhe Base64 restano come le hai incollate. Se ti servono mittente, esiti di autenticazione e percorso da server a server di un'email, usa invece «Analizzatore di intestazioni email».
L'analisi avviene nel tuo browser e gli header incollati non vengono caricati né salvati. Conta, perché i blocchi di header contengono spesso cookie di sessione, chiavi API e indirizzi email. Con un header parser online come questo, il testo non lascia la pagina.
Domande frequenti
Come si copiano gli header della richiesta in Chrome?
Apri gli strumenti per sviluppatori, vai alla scheda Rete e ricarica la pagina. Fai clic con il tasto destro sulla richiesta e scegli nel menu la voce per copiare gli header della richiesta (o della risposta). Incolla il risultato in «Header grezzi» e premi «Analizza header». Firefox ha lo stesso menu di copia su una richiesta della sua scheda Rete. Con curl -i incolla solo le righe di header, non il corpo della risposta che segue.
Gli header HTTP distinguono tra maiuscole e minuscole?
I nomi no: Content-Type, content-type e CONTENT-TYPE sono lo stesso header, quindi il parser li unisce in una riga con la grafia comparsa per prima. I valori restano come sono scritti, a parte gli spazi tolti a inizio e fine, perché alcuni valori, come quelli dei cookie e dei token, distinguono le maiuscole.
Una risposta può contenere Set-Cookie più volte?
Sì. Una risposta invia una riga Set-Cookie per ogni cookie, e Set-Cookie è l'esempio classico di header che non si può unire con le virgole senza rischi. Il parser elenca ogni valore di Set-Cookie sulla sua riga dentro un'unica riga della tabella, e «Copia come JSON» trasforma quella riga in un array. Gli header Received delle email si ripetono allo stesso modo, uno per server.
Cosa sono gli pseudo-header HTTP/2 come :authority?
Sono i campi della richiesta che HTTP/2 scrive come header il cui nome inizia con due punti: :method, :scheme, :authority e :path, più :status nelle risposte. :authority porta l'host, come l'header Host in HTTP/1.1. Il parser considera i due punti iniziali parte del nome, quindi compaiono come righe normali, ordinate prima degli altri header.
Come ottengo gli header HTTP come JSON?
Incolla gli header, premi «Analizza header» e poi «Copia come JSON». Ottieni un oggetto JSON con i nomi degli header come chiavi. Un header comparso una volta è una stringa; uno ripetuto, come Set-Cookie, è un array di stringhe nell'ordine di comparsa. Il JSON contiene sempre tutti gli header analizzati, anche se il filtro nasconde alcune righe.
Quale modalità scelgo per analizzare header email?
Usa «Email / RFC 5322», la modalità predefinita. Unisce alla riga sopra quelle che iniziano con uno spazio o una tabulazione, come accade con i valori lunghi di Received o DKIM-Signature. Per risposte HTTP in cui vuoi vedere segnalate le righe rientrate, scegli «HTTP rigoroso».
È sicuro incollare cookie e token in un parser online?
L'analisi avviene nel tuo browser e nulla di ciò che incolli viene caricato o salvato, quindi questa pagina non invia da nessuna parte i cookie e i token di un blocco di header. Tratta comunque un cookie di sessione attivo o un header Authorization come una password: sostituisci il valore prima di condividere gli header o il JSON con qualcuno.
Consigliati
-
Supporto per laptop regolabile Amazon BasicsPorta il portatile all'altezza degli occhi per leggere un lungo blocco di header senza affaticare il collo.
-
Barra LED da monitor QuntisIllumina la scrivania mentre insegui una risposta sbagliata a tarda sera, senza riflessi sullo schermo.
-
Monitor Portatile ARZOPA 16" 144 HzTieni DevTools o il terminale su un secondo schermo accanto ai tuoi header.
Aiuta a mantenere gratuiti gli strumenti. ✨
Le immagini sono solo a scopo illustrativo. In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei.