HTTP-Header: Referenz mit Beispielen
HTTP-Header nachschlagen: Request Header und Response Header mit Bedeutung und Beispiel, von Accept und Authorization bis Cache-Control und Content-Security-Policy.
| Header | Richtung | Bedeutung | Beispiel |
|---|---|---|---|
| Accept | Anfrage | Welche Formate der Client verarbeiten kann. | Accept: application/json, text/html;q=0.9 |
| Accept-Encoding | Anfrage | Unterstützte Kompressionen. | Accept-Encoding: gzip, deflate, br, zstd |
| Accept-Language | Anfrage | Bevorzugte Sprachen. | Accept-Language: de-DE, de;q=0.9, en;q=0.8 |
| Authorization | Anfrage | Zugangsdaten für den Server, etwa ein Bearer-Token. | Authorization: Bearer eyJhbGciOi… |
| Cookie | Anfrage | Vom Server gesetzte Cookies zurücksenden. | Cookie: session=abc123; theme=dark |
| Host | Anfrage | Hostname und Port des Ziels; Pflicht in HTTP/1.1. | Host: www.example.com |
| If-Match | Anfrage | Nur ausführen, wenn das ETag übereinstimmt (Schutz vor Überschreiben). | If-Match: "33a64df5" |
| If-None-Match | Anfrage | Nur liefern, wenn sich das ETag geändert hat; sonst 304. | If-None-Match: "33a64df5" |
| If-Modified-Since | Anfrage | Nur liefern, wenn seit dem Datum geändert; sonst 304. | If-Modified-Since: Wed, 07 Oct 2026 08:00:00 GMT |
| If-Unmodified-Since | Anfrage | Nur ausführen, wenn seit dem Datum unverändert. | If-Unmodified-Since: Wed, 07 Oct 2026 08:00:00 GMT |
| If-Range | Anfrage | Teilbereich nur liefern, wenn die Datei unverändert ist. | If-Range: "33a64df5" |
| Range | Anfrage | Nur einen Teil der Ressource anfordern. | Range: bytes=0-1023 |
| Origin | Anfrage | Herkunft (Schema, Host, Port) einer Anfrage, wichtig für CORS. | Origin: https://app.example.com |
| Referer | Anfrage | Adresse der Seite, von der die Anfrage kommt (historisch falsch geschrieben). | Referer: https://www.example.com/start |
| User-Agent | Anfrage | Programm und Version des Clients. | User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) … |
| Expect | Anfrage | Erwartung an den Server, praktisch nur 100-continue. | Expect: 100-continue |
| Forwarded | Anfrage | Standardisierte Angaben eines Proxys zum ursprünglichen Client (RFC 7239). | Forwarded: for=192.0.2.60;proto=https |
| X-Forwarded-For | Anfrage | Verbreitete, nicht standardisierte Kette der Client-IP-Adressen hinter Proxys. | X-Forwarded-For: 203.0.113.7, 10.0.0.2 |
| X-Forwarded-Proto | Anfrage | Ursprüngliches Protokoll vor dem Proxy. | X-Forwarded-Proto: https |
| X-Requested-With | Anfrage | Von manchen Bibliotheken gesetzt, um AJAX-Anfragen zu kennzeichnen. | X-Requested-With: XMLHttpRequest |
| Upgrade-Insecure-Requests | Anfrage | Client bevorzugt verschlüsselte Antworten. | Upgrade-Insecure-Requests: 1 |
| Sec-Fetch-Site | Anfrage | Verhältnis von Ursprung und Ziel (same-origin, same-site, cross-site, none). | Sec-Fetch-Site: cross-site |
| Sec-Fetch-Mode | Anfrage | Modus der Anfrage (navigate, cors, no-cors, same-origin, websocket). | Sec-Fetch-Mode: navigate |
| Sec-Fetch-Dest | Anfrage | Ziel der Anfrage (document, image, script …). | Sec-Fetch-Dest: image |
| Proxy-Authorization | Anfrage | Zugangsdaten für einen Proxy. | Proxy-Authorization: Basic dXNlcjpwYXNz |
| Access-Control-Request-Method | Anfrage | Im CORS-Preflight: Methode der geplanten Anfrage. | Access-Control-Request-Method: PUT |
| Access-Control-Request-Headers | Anfrage | Im CORS-Preflight: Header der geplanten Anfrage. | Access-Control-Request-Headers: content-type, authorization |
| Priority | Anfrage | Priorität der Antwort für HTTP/2 und HTTP/3 (RFC 9218). | Priority: u=1, i |
| Max-Forwards | Anfrage | Begrenzt die Weiterleitungen bei TRACE und OPTIONS. | Max-Forwards: 3 |
| TE | Anfrage | Akzeptierte Transfer-Kodierungen, etwa trailers. | TE: trailers |
| Access-Control-Allow-Origin | Antwort | CORS: welche Herkunft die Antwort lesen darf. | Access-Control-Allow-Origin: https://app.example.com |
| Access-Control-Allow-Methods | Antwort | CORS: erlaubte Methoden für die eigentliche Anfrage. | Access-Control-Allow-Methods: GET, POST, PUT |
| Access-Control-Allow-Headers | Antwort | CORS: erlaubte Anfrage-Header. | Access-Control-Allow-Headers: Content-Type, Authorization |
| Access-Control-Allow-Credentials | Antwort | CORS: ob Cookies und Zugangsdaten mitgeschickt werden dürfen. | Access-Control-Allow-Credentials: true |
| Access-Control-Expose-Headers | Antwort | CORS: welche Antwort-Header das Skript lesen darf. | Access-Control-Expose-Headers: X-Total-Count |
| Access-Control-Max-Age | Antwort | CORS: wie lange das Ergebnis des Preflights gespeichert wird (Sekunden). | Access-Control-Max-Age: 600 |
| Age | Antwort | Sekunden, die die Antwort schon in einem Cache liegt. | Age: 120 |
| Allow | Antwort | Erlaubte Methoden; Pflicht bei 405. | Allow: GET, HEAD, OPTIONS |
| Content-Disposition | Antwort | Anzeigen oder herunterladen, mit Dateiname. | Content-Disposition: attachment; filename="bericht.pdf" |
| Content-Security-Policy | Antwort | Erlaubte Quellen für Skripte, Bilder, Frames usw.; Schutz vor XSS. | Content-Security-Policy: default-src 'self'; img-src 'self' data: |
| Cross-Origin-Opener-Policy | Antwort | Trennt das Fenster von fremden Seiten (COOP). | Cross-Origin-Opener-Policy: same-origin |
| Cross-Origin-Embedder-Policy | Antwort | Erlaubt nur ausdrücklich freigegebene fremde Ressourcen (COEP). | Cross-Origin-Embedder-Policy: require-corp |
| Cross-Origin-Resource-Policy | Antwort | Wer die Ressource einbinden darf (CORP). | Cross-Origin-Resource-Policy: same-site |
| ETag | Antwort | Versionskennung der Ressource für Caching und bedingte Anfragen. | ETag: "33a64df5" |
| Expires | Antwort | Ablaufzeitpunkt der Antwort; Cache-Control max-age hat Vorrang. | Expires: Thu, 08 Oct 2026 08:00:00 GMT |
| Last-Modified | Antwort | Zeitpunkt der letzten Änderung. | Last-Modified: Tue, 06 Oct 2026 14:30:00 GMT |
| Location | Antwort | Ziel einer Weiterleitung (3xx) oder Adresse einer neuen Ressource (201). | Location: https://www.example.com/neu |
| Permissions-Policy | Antwort | Schaltet Browser-Funktionen wie Kamera oder Standort ab. | Permissions-Policy: camera=(), geolocation=() |
| Referrer-Policy | Antwort | Wie viel vom Referer an andere Seiten geht. | Referrer-Policy: strict-origin-when-cross-origin |
| Retry-After | Antwort | Wartezeit in Sekunden oder Datum, bei 429, 503 oder 3xx. | Retry-After: 120 |
| Server | Antwort | Software des Servers; aus Sicherheitsgründen oft gekürzt. | Server: nginx |
| Set-Cookie | Antwort | Setzt ein Cookie mit Attributen. | Set-Cookie: session=abc123; Path=/; Secure; HttpOnly; SameSite=Lax |
| Strict-Transport-Security | Antwort | HSTS: Browser nutzt künftig nur HTTPS. | Strict-Transport-Security: max-age=31536000; includeSubDomains |
| Vary | Antwort | Welche Anfrage-Header die Antwort beeinflussen; wichtig für Caches. | Vary: Accept-Encoding, Origin |
| WWW-Authenticate | Antwort | Nennt bei 401 das Anmeldeverfahren. | WWW-Authenticate: Bearer realm="api" |
| Proxy-Authenticate | Antwort | Nennt bei 407 das Anmeldeverfahren des Proxys. | Proxy-Authenticate: Basic realm="proxy" |
| X-Content-Type-Options | Antwort | Verbietet dem Browser, den Typ zu raten (MIME-Sniffing). | X-Content-Type-Options: nosniff |
| X-Frame-Options | Antwort | Einbetten in Frames verbieten; abgelöst durch CSP frame-ancestors. | X-Frame-Options: DENY |
| Accept-Ranges | Antwort | Ob Teilbereiche angefordert werden können. | Accept-Ranges: bytes |
| Content-Range | Antwort | Welcher Teil bei 206 geliefert wird. | Content-Range: bytes 0-1023/146515 |
| Alt-Svc | Antwort | Alternativer Dienst, etwa HTTP/3 auf UDP 443. | Alt-Svc: h3=":443"; ma=86400 |
| Link | Antwort | Verweise wie preload oder canonical. | Link: </style.css>; rel=preload; as=style |
| Server-Timing | Antwort | Messwerte des Servers für die Entwicklerwerkzeuge. | Server-Timing: db;dur=53, app;dur=47.2 |
| Clear-Site-Data | Antwort | Löscht Cookies, Speicher oder Cache der Seite, etwa beim Abmelden. | Clear-Site-Data: "cookies", "storage" |
| Reporting-Endpoints | Antwort | Ziele für Berichte, etwa CSP-Verstöße. | Reporting-Endpoints: csp="https://example.com/reports" |
| Timing-Allow-Origin | Antwort | Welche Herkunft genaue Ladezeiten lesen darf. | Timing-Allow-Origin: * |
| Cache-Control | beide | Steuert das Caching: max-age, no-cache, no-store, private, public, immutable. | Cache-Control: public, max-age=31536000, immutable |
| Connection | beide | Steuert die Verbindung in HTTP/1.1; in HTTP/2 und HTTP/3 verboten. | Connection: keep-alive |
| Content-Encoding | beide | Kompression des Bodys. | Content-Encoding: br |
| Content-Language | beide | Sprache des Inhalts. | Content-Language: de-DE |
| Content-Length | beide | Größe des Bodys in Byte. | Content-Length: 3495 |
| Content-Type | beide | Medientyp des Bodys, bei Text mit Zeichensatz. | Content-Type: application/json; charset=utf-8 |
| Date | beide | Zeitpunkt, zu dem die Nachricht erzeugt wurde. | Date: Fri, 09 Oct 2026 10:00:00 GMT |
| Transfer-Encoding | beide | Übertragung in Stücken (chunked), nur HTTP/1.1. | Transfer-Encoding: chunked |
| Upgrade | beide | Protokollwechsel, etwa auf WebSocket. | Upgrade: websocket |
| Via | beide | Proxys, die die Nachricht weitergereicht haben. | Via: 1.1 proxy.example.com |
| Trailer | beide | Kündigt Header an, die nach dem Body folgen. | Trailer: Server-Timing |
| Keep-Alive | beide | Zeitlimit und Höchstzahl für offene HTTP/1.1-Verbindungen. | Keep-Alive: timeout=5, max=100 |
| Pragma | beide | Veraltetes Caching aus HTTP/1.0; durch Cache-Control ersetzt. | Pragma: no-cache |
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Was HTTP-Header leisten
HTTP-Header sind Zusatzangaben, die Client und Server vor dem eigentlichen Inhalt austauschen. Request Header beschreiben die Anfrage: welche Formate der Browser versteht (Accept), wer er ist (User-Agent) und welche Zugangsdaten er mitbringt (Authorization, Cookie). Response Header beschreiben die Antwort: Format, Größe, Caching-Regeln und Sicherheitsvorgaben.
Zwei Header begegnen Entwicklern besonders oft. Der Content-Type Header nennt den Medientyp des Bodys, etwa application/json; charset=utf-8; fehlt er oder ist er falsch, antworten APIs mit 415 oder der Browser zeigt Text statt einer Seite. Cache-Control legt fest, ob und wie lange Browser und CDN eine Antwort speichern dürfen: no-store verbietet das Speichern, no-cache erlaubt es nur mit erneuter Prüfung, max-age nennt die Sekunden.
Header-Namen sind nicht von Groß- und Kleinschreibung abhängig; in HTTP/2 und HTTP/3 werden sie klein geschrieben übertragen. Header mit dem Präfix X- sind nicht standardisiert, aber teils weit verbreitet. Diese HTTP Header Liste enthält die gebräuchlichen Header nach RFC 9110, RFC 9111 (Caching) und den Web-Standards für CORS und Sicherheit. Die eigenen Header einer Seite sehen Sie in den Entwicklerwerkzeugen des Browsers im Reiter Netzwerk.
Anleitung: HTTP-Header in 3 Schritten
- Im Feld „Header oder Stichwort“ einen Namen wie Cache-Control oder ein Stichwort wie CORS eingeben.
- Über „Richtung“ auf Request Header, Response Header oder Header in beiden Richtungen einschränken.
- In der Tabelle Bedeutung und Beispiel ablesen und das Beispiel in Konfiguration oder Code übernehmen.
Typische Anwendungsfälle
- CORS-Fehler eingrenzen: nachsehen, welche Access-Control-Header Preflight und Antwort brauchen.
- Caching einrichten: verstehen, wie Cache-Control, ETag, Last-Modified und If-None-Match zusammenspielen.
- Anfragen in den Entwicklerwerkzeugen des Browsers deuten, etwa Sec-Fetch- oder X-Forwarded-Header.
- Sicherheitsheader wie Content-Security-Policy oder Permissions-Policy für den Webserver vorbereiten.
Häufige Fragen
Was ist der Unterschied zwischen Request Header und Response Header?
Request Header schickt der Client mit seiner Anfrage, Response Header kommen mit der Antwort des Servers. Einige wie Content-Type oder Cache-Control gibt es in beiden Richtungen.
Wie setze ich den richtigen Content-Type Header für JSON?
Mit Content-Type: application/json. Der Zusatz charset=utf-8 ist bei JSON nicht nötig, weil JSON immer UTF-8 ist, schadet aber nicht.
Was ist der Unterschied zwischen no-cache und no-store?
Bei no-cache darf eine Antwort gespeichert werden, muss aber vor jeder Verwendung beim Server geprüft werden. Bei no-store darf sie gar nicht gespeichert werden.
Warum heißt der Header Referer und nicht Referrer?
Ein Tippfehler in der frühen HTTP-Spezifikation, der aus Kompatibilitätsgründen geblieben ist. Der neuere Header Referrer-Policy ist richtig geschrieben.
Sind HTTP-Header case-sensitive?
Nein, die Namen sind unabhängig von Groß- und Kleinschreibung. Die Werte können es aber sein, etwa bei Tokens oder ETags.
Wie kann ich die HTTP-Header einer Seite anzeigen?
Im Browser mit F12, Reiter Netzwerk, Anfrage anklicken und die Header ansehen. Auf der Kommandozeile zeigt curl -I https://example.com die Response Header.
Kann ich eigene HTTP-Header definieren?
Ja, eigene Header sind erlaubt, solange der Name nur zulässige Zeichen enthält. Das früher übliche Präfix X- wird seit RFC 6648 nicht mehr empfohlen, bekannte Header wie X-Forwarded-For tragen es aber weiterhin.
Das könnte auch helfen
HTTP-Statuscodes
Alle gängigen HTTP-Statuscodes von 100 bis 511 mit Bedeutung, typischer Ursache und Suche.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenBash-Befehle
Bash- und Linux-Befehle für Dateien, Text, Prozesse und Netzwerk, mit Suche und Kopieren.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
ÖffnenDNS-Records erklärt
DNS-Record einfügen und zerlegen lassen: A, MX, TXT, SPF, SOA, SRV, CAA, HTTPS und mehr.
Öffnen