HTTP-Header-Formatter
Zwischen Raw- und Key/Value-Header-Formaten konvertieren
HTTP Headers
Formatted Output
Enter HTTP headers to format and analyze
Der HTTP Header Formatter konvertiert zwischen rohem HTTP-Header-Text und strukturierten Schlüssel-Wert-Darstellungen. So können Sie Header aus der Ausgabe von curl -v, Browser-Entwicklertools oder Netzwerk-Captures in ein bearbeitbares Format überführen und wieder in gültige HTTP-Header-Syntax zurückbauen. Fügen Sie einen Block roher Header wie Content-Type: application/json\nAuthorization: Bearer eyJ... ein und erhalten Sie eine saubere, strukturierte Tabelle, die Sie bearbeiten und exportieren können.
HTTP-Header verstehen
HTTP-Header sind die Metadaten, die mit jeder Anfrage und Antwort im Web übertragen werden. Sie teilen dem Server mit, welche Inhalte der Client akzeptiert, wie die Anfrage authentifiziert werden soll, wie lange die Antwort zwischengespeichert werden soll, und Dutzende weiterer Details, die das Verhalten der HTTP-Transaktion steuern. Wenn Sie jemals die Browser-Entwicklertools geöffnet und den Netzwerk-Tab betrachtet haben, haben Sie Header gesehen -- es sind die Content-Type, Authorization, Cache-Control und anderen Schlüssel-Wert-Paare, die unter jeder Anfrage aufgelistet sind.
Für die tägliche Entwicklungsarbeit müssen Sie selten über die Header-Formatierung nachdenken, da Ihr HTTP-Client oder Framework sie automatisch handhabt. Die Formatierung wird zum Problem, wenn Sie Header zwischen Tools verschieben müssen. Sie könnten Header aus Chrome DevTools kopieren und sie in eine Postman-Sammlung einfügen müssen. Oder Sie erfassen die ausführliche Ausgabe von curl -v und müssen nur die Antwort-Header ohne die < -Präfixe extrahieren. Oder Sie schreiben API-Dokumentation und müssen Header als sauberes JSON-Objekt statt als Rohtext darstellen. Jedes Tool erwartet ein leicht anderes Format, und das manuelle Umformatieren ist mühsam und fehleranfällig.
Dieser Formatter übernimmt die Konvertierung in beide Richtungen. Im Parse-Modus akzeptiert er rohe Header aus jeder gängigen Quelle -- Browser-Entwicklertools, ausführliche curl-Ausgabe mit > - und < -Präfixen, tcpdump- oder Wireshark-Captures oder einfachen Key: Value-Text -- und erzeugt eine strukturierte Tabelle oder JSON-Ausgabe. Im Build-Modus nimmt er JSON-Objekte, tabulatorgetrennte Daten oder zeilenweise Schlüssel-Wert-Paare und erzeugt korrekt formatierte rohe HTTP-Header mit korrekten Schreibweiskonventionen und Zeilenumbrüchen. Das Ergebnis sind Header, die direkt in das benötigte Tool oder die gewünschte Konfiguration eingefügt werden können.
So parsen Sie rohe HTTP-Header
- Fügen Sie rohe HTTP-Header aus der curl-Ausgabe, den Browser-Entwicklertools oder einem Paket-Capture in das Eingabefeld ein.
- Klicken Sie auf Parse, um jeden Header in eine strukturierte Name-Wert-Tabelle zu extrahieren.
- Bearbeiten Sie einzelne Header-Werte nach Bedarf.
- Kopieren Sie die strukturierte Ausgabe als JSON oder Schlüssel-Wert-Paare.
So erstellen Sie HTTP-Header aus Schlüssel-Wert-Daten
- Geben Sie Header als JSON (
{"Content-Type": "application/json"}), zeilengetrennteKey: Value-Paare oder tabulatorgetrennte Daten ein. - Klicken Sie auf Build, um korrekt formatierte rohe HTTP-Header zu erzeugen.
- Kopieren Sie die Ausgabe zur Verwendung in Ihrem HTTP-Client, der Serverkonfiguration oder der Dokumentation.
Beispiele für die HTTP-Header-Formatierung
curl-Ausgabe parsen
Eingabe (rohe Header aus curl -v):
Content-Type: application/json; charset=utf-8
X-Request-ID: 8f14e45f-ceea-367f-a27f-4eb04ef4e
Cache-Control: public, max-age=3600
Set-Cookie: session=abc123; Path=/; HttpOnly
X-RateLimit-Remaining: 98
Geparste Ausgabe:
| Header-Name | Wert |
|---|---|
Content-Type | application/json; charset=utf-8 |
X-Request-ID | 8f14e45f-ceea-367f-a27f-4eb04ef4e |
Cache-Control | public, max-age=3600 |
Set-Cookie | session=abc123; Path=/; HttpOnly |
X-RateLimit-Remaining | 98 |
Aus JSON erstellen
Eingabe:
{
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIs...",
"Content-Type": "application/json",
"Accept": "application/json",
"X-Custom-Header": "my-value"
}
Ausgabe (rohe Header):
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
Accept: application/json
X-Custom-Header: my-value
Wann Sie den HTTP Header Formatter verwenden sollten
- Header zwischen Tools kopieren -- Header vom Postman-Format in die curl-Syntax konvertieren oder umgekehrt, ohne manuelles Umformatieren.
- Komplexe Header-Sätze bearbeiten -- Einen großen Block von Headern in eine strukturierte Ansicht parsen, in der einzelne Werte leicht zu finden und zu ändern sind.
- API-Dokumentation -- Rohe Header-Captures in sauberes JSON zur Aufnahme in API-Dokumentationen und README-Dateien konvertieren.
- Konfigurationen vergleichen -- Header aus zwei verschiedenen Umgebungen in dasselbe strukturierte Format parsen, um sie nebeneinander zu vergleichen.
- Netzwerkprobleme debuggen -- Header aus Paket-Captures oder Proxy-Logs zur Analyse extrahieren und organisieren.
- Server-Migration -- Header zwischen Konfigurationsformaten konvertieren, wenn Sie von einem Webserver oder CDN zu einem anderen wechseln.
Aufbau von HTTP-Headern
HTTP-Header folgen einem einfachen Name: Value-Format, das in RFC 7230 definiert ist, aber reale Header haben einige Nuancen, die der Formatter berücksichtigt.
Namenskonventionen für Header
Header-Namen sind gemäß der HTTP-Spezifikation nicht groß-/kleinschreibungsabhängig. Content-Type, content-type und CONTENT-TYPE beziehen sich alle auf denselben Header. Der Formatter bewahrt die ursprüngliche Schreibweise beim Parsen und verwendet die Standard-Schreibweise (z. B. Content-Type) beim Erstellen.
Header mit mehreren Werten
Einige Header erscheinen mehrfach in einer Antwort, und die HTTP-Spezifikation definiert, wie sie kombiniert werden:
- Listenbasierte Header wie
Cache-Control,AcceptundViakönnen mit Kommas kombiniert werden:Cache-Control: no-cache, no-store. - Set-Cookie ist ein Sonderfall -- Mehrere
Set-Cookie-Header müssen getrennt bleiben und dürfen nicht mit Kommas zusammengefügt werden. - Gefaltete Header (in HTTP/1.1 inzwischen veraltet) verwendeten führende Leerzeichen, um einen Wert in der nächsten Zeile fortzusetzen.
Zeilenenden
HTTP/1.1 erfordert \r\n (CRLF)-Zeilenenden zwischen Headern. Der Formatter verarbeitet Eingaben mit Unix- (\n), Windows- (\r\n) oder gemischten Zeilenenden und erzeugt beim Erstellen spezifikationskonforme CRLF-Ausgabe.
Gängige Header-Kategorien
| Kategorie | Header | Zweck |
|---|---|---|
| Inhaltsverhandlung | Accept, Accept-Language, Accept-Encoding | Client teilt dem Server mit, welche Formate er bevorzugt |
| Authentifizierung | Authorization, WWW-Authenticate, Proxy-Authorization | Identität und Zugriffskontrolle |
| Caching | Cache-Control, ETag, If-None-Match, If-Modified-Since | Cache-Verhalten und Validierung |
| Sicherheit | Strict-Transport-Security, Content-Security-Policy, X-Frame-Options | Browser-Sicherheitsrichtlinien |
| CORS | Access-Control-Allow-Origin, Access-Control-Allow-Methods | Cross-Origin-Zugriffsregeln |
| Ratenbegrenzung | X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After | API-Nutzungsbeschränkungen |
Praktische Tipps für die Arbeit mit HTTP-Headern
Beim Debuggen von API-Problemen sollte als Erstes geprüft werden, ob der Content-Type-Header mit dem Body-Format übereinstimmt. Einen JSON-Body mit Content-Type: application/x-www-form-urlencoded zu senden (oder schlimmer, ganz ohne Content-Type) ist eine der häufigsten Ursachen für 400 Bad Request-Fehler. Der Server versucht, den Body gemäß dem deklarierten Inhaltstyp zu parsen, und wenn das Format nicht übereinstimmt, schlägt das Parsen fehl. Dieser Formatter ermöglicht es Ihnen, alle Header gemeinsam schnell zu inspizieren, um Abweichungen auf einen Blick zu erkennen.
Ein weiteres häufiges Problem ist die Duplizierung von Headern. Wenn Sie Header auf mehreren Ebenen konfigurieren -- Anwendungscode, Reverse-Proxy, CDN -- kann es leicht zu doppelten Headern kommen, die einander widersprechen. Zum Beispiel könnte Ihre Anwendung Cache-Control: private setzen, während Ihr CDN Cache-Control: public, max-age=3600 hinzufügt. Das Verhalten hängt davon ab, welche Ebene Vorrang hat, und das Ergebnis entspricht oft nicht dem Beabsichtigten. Parsen Sie die tatsächlichen Antwort-Header und suchen Sie nach Duplikaten, um diese Konfigurationskonflikte frühzeitig zu erkennen.
Bei der Arbeit mit Sicherheitsheadern wie Content-Security-Policy oder Strict-Transport-Security hilft der Formatter dabei, die syntaktische Korrektheit der Werte vor dem Deployment zu überprüfen. Eine fehlerhafte CSP-Direktive kann Ihre gesamte Website zum Absturz bringen, indem sie legitime Ressourcen blockiert, und ein fehlendes includeSubDomains bei HSTS kann Subdomains ungeschützt lassen. Parsen Sie den Header, überprüfen Sie jede Direktive einzeln und testen Sie im Report-Only-Modus, bevor Sie durchsetzen.
Häufig gestellte Fragen
Sind HTTP-Header-Namen groß-/kleinschreibungsabhängig?
Nein. RFC 7230 legt fest, dass Header-Feldnamen nicht groß-/kleinschreibungsabhängig sind. Content-Type und content-type sind derselbe Header. HTTP/2 erfordert jedoch Header-Namen in Kleinbuchstaben, sodass der Formatter optional alle Namen für die HTTP/2-Kompatibilität in Kleinbuchstaben umwandeln kann.
Wie behandelt der Formatter doppelte Header?
Beim Parsen werden alle Header-Instanzen einzeln beibehalten. Beim Erstellen können Sie wählen, ob Duplikate getrennt bleiben (erforderlich für Set-Cookie) oder zu kommaseparierten Listen zusammengeführt werden (für die meisten anderen Header gemäß RFC 7230 Abschnitt 3.2.2 gültig).
Kann ich Header direkt aus den Browser-DevTools einfügen?
Ja. Der Formatter akzeptiert das rohe Header-Format, das in Chrome DevTools, Firefox Network Inspector und Safari Web Inspector angezeigt wird. Er verarbeitet auch die > - und < -Präfixe aus der ausführlichen curl -v-Ausgabe und entfernt sie automatisch.
Was ist der Unterschied zwischen HTTP/1.1- und HTTP/2-Header-Formatierung?
HTTP/1.1 verwendet Klartext-Header mit dem Format Name: Value und CRLF-Zeilenenden. HTTP/2 verwendet eine binäre Codierung (HPACK-Kompression) und erfordert, dass alle Header-Namen in Kleinbuchstaben geschrieben werden. Zusätzlich ersetzt HTTP/2 die Anfragezeile (z. B. GET /path HTTP/1.1) durch Pseudo-Header wie :method, :path und :scheme. Dieser Formatter arbeitet mit der Textdarstellung, die in Logs und Entwicklertools verwendet wird, nicht mit dem binären Drahtformat.
Wie gehe ich mit Headern mit sehr langen Werten um?
Einige Header, insbesondere Set-Cookie und Content-Security-Policy, können Werte mit Hunderten von Zeichen haben. Der Formatter zeigt lange Werte ohne Kürzung an, damit Sie den vollständigen Inhalt sehen können. Beim Erstellen von Headern wird keine Zeilenfaltung hinzugefügt (die in HTTP/1.1 veraltet ist) -- jeder Header belegt eine einzelne Zeile unabhängig von der Länge.
Kann ich Header in einem einzigen Schritt von einem Format in ein anderes konvertieren?
Ja. Parsen Sie die Header aus einem beliebigen unterstützten Eingabeformat und wechseln Sie dann in den Build-Modus, um in Ihrem gewünschten Format zu exportieren. So lassen sich Header einfach von curl-Ausgabe zu JSON, von Postman zu Rohtext oder von Rohtext zu einer strukturierten Tabelle konvertieren.
Verwandte Tools
- Cookie Header Parser - Cookie- und Set-Cookie-Header in strukturierte Attribute parsen
- CORS Header Explainer - CORS-Header-Konfigurationen verstehen und validieren
- HTTP Status Code Lookup - Bedeutungen von Statuscodes nachschlagen, die Antwort-Header begleiten
- User-Agent Parser - Den User-Agent-Header in Browser-, OS- und Gerätekomponenten parsen
- curl Command Builder - curl-Befehle mit benutzerdefinierten Headern erstellen