HTTP-Nachrichten-Parser

HTTP/1.x- und HTTP/2-Nachrichten parsen und untersuchen, einschließlich Anfragen, Antworten und curl-Verbose-Ausgabe. Header, Statuscodes und Bodies in einem strukturierten Format anzeigen. Unterstützt automatische Body-Typ-Erkennung für JSON-, HTML- und XML-Inhalte.

Spezifikationen

Haeufige Anwendungsfaelle

  • HTTP-Anfragen aus dem Browser-Netzwerk-Tab debuggen
  • API-Antworten analysieren
  • Ausgabe von curl -v zur Fehlersuche parsen
  • Webhook-Payloads untersuchen
  • HTTP-Header für Sicherheitsanalysen überprüfen

Funktionen

  • HTTP/1.x- und HTTP/2-Anfragen und -Antworten parsen
  • Ausgabeformat von curl -v (verbose) parsen
  • Statuscodes mit farbkodierten Kategorien anzeigen (2xx, 3xx, 4xx, 5xx)
  • Anfrage- und Antwort-Header für curl-Ausgabe getrennt darstellen
  • Automatische Body-Inhaltstyp-Erkennung (JSON, HTML, XML)
  • Dynamisches Body-Tool-Rendering (lädt JSONTool, HTMLTool usw. für den Body-Inhalt nach)
  • Body-Abschnitte ein-/ausklappen
  • Header oder Body in die Zwischenablage kopieren

Beispiele

HTTP-GET-Anfrage

Ausprobieren →

Eine einfache GET-Anfrage mit Headern

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

HTTP-Antwort

Ausprobieren →

Eine 200 OK-Antwort mit JSON-Body

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

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

curl -v-Ausgabe

Ausprobieren →

Verbose curl-Ausgabe mit Anfrage und Antwort

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

Tipps

  • Fügen Sie curl -v-Ausgabe direkt ein — Anfrage- und Antwort-Header werden getrennt geparst.
  • Klicken Sie auf "Dekodieren als JSON/HTML/XML", um den Body an den passenden Decoder weiterzuleiten.
  • Statuscodes sind farbkodiert: grün (2xx), blau (3xx), gelb (4xx), rot (5xx).

Verstaendnis HTTP-Nachrichten-Parser

HTTP-Nachrichten sind die grundlegenden Kommunikationseinheiten im Hypertext Transfer Protocol. Jede Interaktion zwischen einem Web-Client und einem Server besteht aus einer Anfragenachricht und einer Antwortnachricht. Das Verständnis ihrer Struktur ist essenziell für das Debuggen von APIs, die Analyse von Netzwerkverkehr und den Aufbau von Webdiensten.

Eine HTTP-Anfrage beginnt mit einer Anfragezeile, die die Methode (GET, POST, PUT, DELETE), den Zielpfad und die Protokollversion enthält. Danach folgen Header-Felder (Schlüssel-Wert-Paare), eine Leerzeile und ein optionaler Body. Die Methode gibt die beabsichtigte Aktion an: GET ruft Daten ab, POST übermittelt Daten, PUT ersetzt eine Ressource, DELETE entfernt sie und PATCH aktualisiert sie teilweise.

Eine HTTP-Antwort beginnt mit einer Statuszeile, die die Protokollversion, einen dreistelligen Statuscode und eine Begründung enthält. Statuscodes sind nach Klassen gruppiert: 2xx für Erfolg (200 OK, 201 Created), 3xx für Umleitung (301 Moved, 304 Not Modified), 4xx für Client-Fehler (400 Bad Request, 401 Unauthorized, 404 Not Found) und 5xx für Server-Fehler (500 Internal Server Error, 502 Bad Gateway).

Das Kommandozeilen-Tool curl mit dem Flag -v (verbose) gibt sowohl die Anfrage als auch die Antwort in einem markanten Format aus, wobei > für gesendete Daten und < für empfangene Daten verwendet wird. Dieses Ausgabeformat ist eine der häufigsten Arten, wie Entwickler auf rohe HTTP-Nachrichten stoßen, was das Parsen von curl -v-Ausgaben zu einer wesentlichen Debugging-Fähigkeit macht.

HTTP/1.1 ist textbasiert und sendet eine Anfrage pro TCP-Verbindung zur gleichen Zeit (Pipelining existiert, wird aber schlecht unterstützt). HTTP/2 ist ein Binärprotokoll, das mehrere Anfragen über eine einzige Verbindung multiplext, Server-Push unterstützt und Header mit HPACK komprimiert. HTTP/2 reduziert die Latenz für moderne Websites erheblich. Die Semantik — Methoden, Statuscodes und Header — bleibt über beide Versionen gleich; nur das Drahtformat unterscheidet sich.

In der curl -v-Ausgabe sind Zeilen, die mit > beginnen, Daten, die an den Server gesendet werden (die Anfrage), Zeilen, die mit < beginnen, sind vom Server empfangene Daten (die Antwort), und Zeilen, die mit * beginnen, sind curl-Informationsmeldungen über Verbindungsdetails und TLS-Aushandlung. Eine Leerzeile, die nur > oder < enthält, trennt Header vom Body. Dieses Tool parst alle drei Abschnitte automatisch.

Statuscodes folgen einem wohldefinierten numerischen Schema: 1xx-Codes sind informativ (100 Continue), 2xx zeigt Erfolg an (200 OK, 201 Created, 204 No Content), 3xx signalisiert Umleitung (301 Permanent, 302 Found, 304 Not Modified), 4xx repräsentiert Client-Fehler (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests) und 5xx deckt Server-Fehler ab (500 Internal Error, 502 Bad Gateway, 503 Service Unavailable).

← Zurueck zu allen Tools