HTTP-Anfrage zerlegen und analysieren
HTTP-Anfrage zerlegen: Rohe HTTP-Requests und -Antworten in Startzeile, Header, Query, Cookies und Body aufteilen, mit Erklärungen und Warnungen zu Fehlern.
| Teil | Wert |
|---|
| Header | Wert | Bedeutung |
|---|
| Name | Wert | Quelle |
|---|
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Raw HTTP lesen und prüfen
Mit diesem Werkzeug können Sie eine HTTP-Anfrage zerlegen oder eine HTTP-Antwort zerlegen, so wie sie über die Leitung geht: Startzeile, Header, Leerzeile, Body. Fügen Sie Raw HTTP aus curl -v, aus einem Proxy wie Burp oder mitmproxy, aus Wireshark oder aus den Entwicklertools des Browsers ein. Bei einer Anfrage zeigt es die Request-Line mit Methode, Ziel und Version, bei einer Antwort Statuscode und Begründung. Header parsen heißt hier: Jeder Header wird mit Namen, Wert und einer kurzen Erklärung aufgelistet, doppelte Header bleiben sichtbar.
Danach geht es ins Detail: Aus Host und Ziel entsteht die vollständige URL, Query-Parameter, Cookies und Set-Cookie-Einträge werden einzeln aufgeführt, Formularfelder aus application/x-www-form-urlencoded dekodiert und JSON-Bodys formatiert. Chunked-Übertragung wird aufgelöst. Bei Basic Auth zeigt das Werkzeug nur den Benutzernamen und blendet das Passwort aus. Wenn Sie einen HTTP-Request analysieren, helfen die Hinweise: fehlender Host-Header, Leerzeichen vor dem Doppelpunkt, veraltete Fortsetzungszeilen, abweichende Content-Length oder die gefährliche Kombination aus Content-Length und Transfer-Encoding.
Grenzen: Komprimierte Bodys (gzip, br) lassen sich als eingefügter Text nicht entpacken, und Byte-Längen können durch Zeilenenden abweichen; das Werkzeug prüft deshalb LF und CRLF. HTTP/2 und HTTP/3 sind binäre Protokolle; die Pseudo-Header wie :method und :path aus den Entwicklertools werden trotzdem erkannt. Bedeutungen einzelner Header schlagen Sie in der HTTP-Header-Referenz nach, Statuscodes unter HTTP-Statuscodes.
Anleitung: HTTP-Anfrage zerlegen in 4 Schritten
- Die rohe HTTP-Anfrage oder -Antwort einfügen oder ein Beispiel wie GET-Anfrage oder POST mit JSON laden.
- In der Startzeile Methode, Ziel und Version oder Statuscode ablesen.
- Die Header-Tabelle mit Wert und Bedeutung sowie Parameter, Cookies und Formularfelder durchgehen.
- Warnungen zu Content-Length, Host oder Transfer-Encoding beachten und den Body kopieren.
Typische Anwendungsfälle
- API-Fehler untersuchen: Eine Anfrage aus curl -v zerlegen, um fehlende oder falsche Header zu finden.
- Sicherheitstests: Raw HTTP aus Burp oder mitmproxy lesen und auf Request-Smuggling-Muster prüfen.
- Cookies auswerten: Set-Cookie-Einträge einer Antwort einzeln mit ihren Attributen sehen.
- Formulardaten lesen: Kodierte Felder aus einem POST-Body lesbar machen.
Häufige Fragen
Was ist die Request-Line?
Die erste Zeile einer HTTP/1.x-Anfrage: Methode, Ziel und Version, getrennt durch je ein Leerzeichen, zum Beispiel GET /index.html HTTP/1.1.
Warum ist Content-Length zusammen mit Transfer-Encoding gefährlich?
Wenn Proxy und Server die Länge unterschiedlich auswerten, lassen sich Anfragen einschleusen (Request Smuggling). RFC 9112 schreibt vor, dass Transfer-Encoding Vorrang hat; viele Server lehnen die Kombination ab.
Wo bekomme ich die rohe Anfrage her?
Mit curl -v sehen Sie Anfrage und Antwort-Header. In den Entwicklertools des Browsers zeigt die Ansicht der Rohdaten (Raw) die Header. Proxys wie mitmproxy oder Burp zeigen die vollständige Nachricht.
Werden meine Cookies oder Passwörter übertragen?
Nein. Die Zerlegung läuft vollständig im Browser. Passwörter aus Basic Auth werden zusätzlich ausgeblendet; nur ihre Länge wird angezeigt.
Wie ist eine HTTP-Antwort aufgebaut?
Zuerst die Statuszeile mit Version, Statuscode und Begründung, etwa HTTP/1.1 200 OK. Danach folgen die Header, eine Leerzeile und schließlich der Body mit dem eigentlichen Inhalt.
Was bedeutet Transfer-Encoding: chunked?
Der Body wird in Stücken übertragen, jedes mit seiner Länge in Hexadezimal davor. Ein Stück mit der Länge 0 beendet die Übertragung; das Werkzeug setzt die Stücke wieder zusammen.
Das könnte auch helfen
Subnetz-Rechner
IPv4-Netz mit CIDR oder Maske: Netzadresse, Broadcast, Hostbereich, Wildcard und Aufteilung in Teilnetze.
ÖffnenIP in Binär umrechnen
IPv4-Adresse in Binär, Hex, Oktal und Ganzzahl umrechnen und zurück, mit markierten Netzbits.
ÖffnenIPv6 kürzen und erweitern
IPv6-Adressen nach RFC 5952 kürzen oder voll ausschreiben, Adresstyp und ip6.arpa-Name anzeigen.
ÖffnenCIDR-Rechner
IP-Bereiche in CIDR-Blöcke umrechnen und mehrere Netze zu möglichst wenigen Präfixen zusammenfassen.
ÖffnenMAC-Adresse prüfen
MAC-Adressen prüfen und umformatieren: Unicast oder Multicast, global oder lokal verwaltet, OUI, EUI-64.
ÖffnenURL-Parser
URL in Protokoll, Host, Port, Pfad, Query und Fragment zerlegen, Parameter dekodiert als Tabelle und JSON.
Öffnen