Hilfe

HTTP Header Parser: Header als Tabelle und JSON

Der HTTP Header Parser macht aus rohen HTTP-Headern oder dem Header-Block einer E-Mail eine sortierte, durchsuchbare Tabelle mit einer Zeile pro Header. Wiederholte Header wie Set-Cookie landen in einer einzigen Zeile, jeder Wert für sich, und alles lässt sich als JSON kopieren. Der Parser ordnet nur den Text, den du einfügst: Es wird nichts nachgeschlagen, geprüft oder dekodiert.


HTTP-Header auslesen: so geht's

So wird aus rohem Text eine Tabelle:

  1. Kopiere die Header: aus dem Netzwerk-Tab der Entwicklertools deines Browsers, aus der Ausgabe von curl -i oder vom Anfang des Quelltexts einer E-Mail. Füge nur die Header-Zeilen ein, nicht den Text, der danach kommt.
  2. Füge sie in das Feld Rohe Header ein. Es nimmt bis zu 5 MB (5.000.000 Zeichen) auf.
  3. Wähle unter Analysemodus entweder E-Mail / RFC 5322 (Standard) oder Striktes HTTP. Der Unterschied steht weiter unten.
  4. Drücke auf Header analysieren. Es öffnet sich Analysierte Header mit einer Tabelle aus Name und Wert, nach Name von A bis Z sortiert, ohne Rücksicht auf Groß- und Kleinschreibung. Lange Werte wie eine DKIM-Signatur scrollen in der Tabelle zur Seite.
  5. Gib in Nach Name oder Wert filtern einen Suchbegriff ein, um die Zeilen einzugrenzen. Die Anzahl darunter wechselt zum Beispiel von „12 Header“ zu „3 von 12 Headern“; der Filter beachtet die Schreibweise nicht.
  6. Mit Als JSON kopieren landen alle Header in der Zwischenablage. Header bearbeiten führt zurück zum eingefügten Text, der noch da ist. So kannst du eine Zeile korrigieren und erneut analysieren.

Email Header auslesen: Beispiel mit Set-Cookie und Received

Der Beispielblock besteht aus einer Statuszeile (HTTP/1.1 200 OK), drei gewöhnlichen Headern, zwei Set-Cookie-Zeilen (eine davon kleingeschrieben) und einem Received-Header, der auf eine zweite Zeile umbrochen ist.

Im Standardmodus „E-Mail / RFC 5322“ ergibt das vier Zeilen. Die beiden Cookies teilen sich eine Zeile, der umbrochene Received-Wert wird zu einer Zeile verbunden, und die Statuszeile steht als übersprungen in der Liste, weil vor einem Doppelpunkt kein Name steht. „Als JSON kopieren“ liefert:

{"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"]}

Die zusammengeführte Zeile behält die Schreibweise, die zuerst vorkam (set-cookie), und wird zum Array, weil der Header zweimal auftrat. Ein Header, der nur einmal vorkommt, ist ein einfacher String.

Striktes HTTP oder E-Mail / RFC 5322: welcher Modus?

Die Modi unterscheiden sich nur darin, was mit einer Zeile passiert, die mit einem Leerzeichen oder Tab beginnt.

Wenn du unsicher bist, lass den Standard stehen. Er ist der nachsichtigere der beiden.

Was der Parser überspringt, zusammenführt und stehen lässt

Mail Header lesen: was dieser Parser nicht macht

Er strukturiert Text, mehr nicht. Er verfolgt nicht den Weg einer Nachricht, prüft weder SPF noch DKIM oder DMARC, beurteilt nicht, ob eine E-Mail Spam oder echt ist, und dekodiert keine Werte: kodierte Wörter wie =?UTF-8?B?…?= und Base64-Strings bleiben, wie du sie eingefügt hast. Willst du Absender, Authentifizierungsergebnisse und den Weg über die Server aus einer E-Mail herausgelesen haben, nimm stattdessen „E-Mail-Header analysieren“.

Bei einem Header Parser online zählt der Datenschutz besonders, denn Header-Blöcke enthalten oft Sitzungs-Cookies, API-Schlüssel und E-Mail-Adressen. Hier läuft die Analyse in deinem Browser, und die eingefügten Header werden weder hochgeladen noch gespeichert.


Häufige Fragen

Wie kopiere ich Request-Header in Chrome?

Öffne die DevTools, wechsle in den Netzwerk-Tab und lade die Seite neu. Klicke die Anfrage mit der rechten Maustaste an und wähle im Kontextmenü das Kopieren der Request-Header (oder der Response-Header). Füge das Ergebnis in „Rohe Header“ ein und drücke auf „Header analysieren“. Firefox hat dasselbe Kopieren-Menü an einer Anfrage im Netzwerk-Tab. Bei curl -i fügst du nur die Header-Zeilen ein, nicht den Text der Antwort danach.

Sind HTTP-Header case sensitive?

Die Namen nicht: Content-Type, content-type und CONTENT-TYPE sind derselbe Header, deshalb führt der Parser sie in einer Zeile unter der zuerst aufgetretenen Schreibweise zusammen. Die Werte bleiben, wie sie geschrieben sind, nur Leerzeichen am Anfang und Ende werden entfernt, weil manche Werte wie Cookie-Werte und Tokens zwischen Groß- und Kleinschreibung unterscheiden.

Kann eine Antwort Set-Cookie mehrfach enthalten?

Ja. Eine Antwort schickt pro Cookie eine eigene Set-Cookie-Zeile, und Set-Cookie ist das Standardbeispiel für einen Header, den man nicht gefahrlos mit Kommas verbinden kann. Der Parser listet jeden Set-Cookie-Wert in einer eigenen Zeile innerhalb einer einzigen Tabellenzeile, und „Als JSON kopieren“ macht daraus ein Array. Received-Header in E-Mails wiederholen sich genauso, einmal pro Server.

Was sind HTTP/2-Pseudo-Header wie :authority?

Pseudo-Header sind die Felder einer HTTP/2-Anfrage, die als Header mit einem Doppelpunkt am Anfang des Namens geschrieben werden: :method, :scheme, :authority und :path, in Antworten zusätzlich :status. :authority enthält den Host, so wie der Host-Header in HTTP/1.1. Der Parser behandelt den führenden Doppelpunkt als Teil des Namens, deshalb erscheinen sie als normale Zeilen und stehen vor den übrigen Headern.

Wie bekomme ich HTTP-Header als JSON?

Füge die Header ein, drücke auf „Header analysieren“ und dann auf „Als JSON kopieren“. Du erhältst ein JSON-Objekt mit den Header-Namen als Schlüsseln. Ein Header, der einmal vorkam, ist ein String; ein wiederholter wie Set-Cookie ist ein Array aus Strings in der Reihenfolge des Auftretens. Das JSON enthält immer alle analysierten Header, auch wenn der Filter einige Zeilen ausblendet.

Welchen Modus nehme ich für RFC 5322 Header?

Der Modus „E-Mail / RFC 5322“ hängt eine Zeile, die mit Leerzeichen oder Tab beginnt, an die Zeile darüber, wie es bei E-Mail-Headern üblich ist. Er ist die Voreinstellung. Für HTTP-Antworten, in denen du eingerückte Zeilen markiert sehen willst, wähle „Striktes HTTP“.

Ist es sicher, Cookies und Tokens in einen Online-Header-Parser einzufügen?

Die Analyse läuft in deinem Browser, und nichts, was du einfügst, wird hochgeladen oder gespeichert. Die Cookies und Tokens eines Header-Blocks gehen von dieser Seite aus also nirgendwohin. Behandle ein aktives Sitzungs-Cookie oder einen Authorization-Header trotzdem wie ein Passwort: Ersetze den Wert, bevor du die Header oder das JSON an jemanden weitergibst.

Empfohlen

Hilft, die Tools kostenlos zu halten. ✨

Symbolbilder. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.