Start·HTTP-Codes und -Header
Anzeige

Krypto-Börsenbonus sichern

Boni, die es allein für die Anmeldung gibt. Die Bedingungen stammen direkt von der Börse.

132 HTTP-Statuscodes und -Header

Was 404 und 500 wirklich bedeuten und was Content-Type oder Cache-Control tun — je eine Zeile.

Statuscodes

1xx Information4

Ein Zwischenstand; die eigentliche Antwort folgt.

2xx Erfolg10

Die Anfrage ging durch.

3xx Umleitung8

Woanders hingehen — dauerhaft oder vorübergehend ist der Unterschied.

4xx Client-Fehler29

Das Problem liegt bei der Anfrage; unverändert erneut gesendet scheitert sie wieder.

400 Bad RequestDie Anfrage ist fehlerhaft und nicht lesbar.401 UnauthorizedSie haben sich nicht ausgewiesen; Anmelden hilft meist.402 Payment RequiredZahlung erforderlich — im Standard vorgesehen, in der Praxis selten.403 ForbiddenDer Server kennt Sie und verweigert trotzdem; Anmelden ändert daran oft nichts.404 Not FoundUnter dieser Adresse liegt nichts — die URL ist falsch oder die Seite ist weg.405 Method Not AllowedDie Adresse existiert, akzeptiert aber diese Methode nicht.406 Not AcceptableDer Server kann das gewünschte Format nicht liefern.407 Proxy Authentication RequiredEin zwischengeschalteter Proxy verlangt zuerst eine Anmeldung.408 Request TimeoutDer Server hat gewartet, die Anfrage kam nie vollständig an.409 ConflictDie Anfrage kollidiert mit dem aktuellen Zustand — typisch bei gleichzeitigen Änderungen.410 GoneAbsichtlich entfernt und kehrt nicht zurück — ein klareres Lebewohl als 404.411 Length RequiredDie Anfrage muss ihre Body-Länge nennen, tat es aber nicht.412 Precondition FailedEine mitgeschickte Bedingung traf nicht zu.413 Content Too LargeDer gesendete Body überschreitet das Serverlimit.414 URI Too LongDie URL ist zu lang — meist durch zu viele Query-Parameter.415 Unsupported Media TypeDer Server kann den gesendeten Medientyp nicht verarbeiten.416 Range Not SatisfiableDer angeforderte Bereich liegt außerhalb der Datei.417 Expectation FailedDie im Expect-Header genannte Erwartung ist nicht erfüllbar.418 I'm a teapotEin Scherzcode: Die Teekanne weigert sich, Kaffee zu kochen.421 Misdirected RequestDieser Server ist für die Anfrage nicht zuständig.422 Unprocessable ContentDie Syntax stimmt, doch der Inhalt verletzt die Regeln.423 LockedDie Ressource ist gesperrt.424 Failed DependencyEine frühere Anfrage schlug fehl, daher scheitert auch diese.425 Too EarlyDer Server verarbeitet die möglicherweise wiederholte Anfrage noch nicht.426 Upgrade RequiredZum Fortfahren muss auf ein anderes Protokoll gewechselt werden.428 Precondition RequiredDie Anfrage muss eine Bedingung mitbringen — so werden verlorene Änderungen verhindert.429 Too Many RequestsZu viele Anfragen; Retry-After nennt den nächsten Versuch.431 Request Header Fields Too LargeDie Header sind zu groß — oft durch angesammelte Cookies.451 Unavailable For Legal ReasonsAus rechtlichen Gründen gesperrt; die Zahl spielt auf den Roman Fahrenheit 451 an.

5xx Server-Fehler11

Das Problem liegt beim Server; ein späterer Versuch lohnt oft.

Header

Request-Header55

Header, die der Browser beim Senden anfügt.

AcceptNennt die Formate, die der Client annehmen kann.Accept-EncodingNennt die verstandenen Kompressionen; gzip oder br sparen viel Übertragung.Accept-LanguageNennt die bevorzugten Sprachen; mehrsprachige Seiten wählen danach.AuthorizationTrägt die Zugangsdaten — ein Token oder Benutzername und Passwort.CookieSendet die zuvor gesetzten Cookies zurück.HostNennt die angesprochene Domain — deshalb kann ein Server viele Sites bedienen.If-Modified-SinceFordert die Ressource nur an, wenn sie sich seither geändert hat.If-None-MatchFordert die Ressource nur bei abweichendem ETag — so prüft ein Cache nach.OriginNennt die Herkunft der Anfrage; der Browser setzt ihn, CORS entscheidet danach.RangeFordert nur einen Teil der Datei — Grundlage für Fortsetzen und Videosprünge.RefererNennt die Herkunftsseite; der Tippfehler wurde Teil des Standards.User-AgentBeschreibt Browser und Gerät; heute sind diese Angaben meist Tarnung.Sec-Fetch-DestSagt, wofür die Anfrage ist — Bild, Skript, Dokument.Sec-Fetch-ModeGibt an, ob die Anfrage gleiche Herkunft, CORS oder Navigation ist.Sec-Fetch-SiteSagt, ob die Anfrage von derselben oder einer anderen Site kam.DNTBittet, nicht verfolgt zu werden; unverbindlich und meist ignoriert.ExpectFragt beim Server nach, bevor ein großer Body gesendet wird.ForwardedHält die ursprünglichen Client-Angaben nach Proxys fest.FromEnthält eine E-Mail-Adresse des Anfragenden; Crawler nutzen sie als Kontakt.If-MatchNur fortfahren, wenn der ETag übereinstimmt — verhindert Überschreiben.If-RangeFortsetzen, wenn die Datei unverändert ist; sonst neu beginnen.Max-ForwardsBegrenzt, über wie viele Proxys eine Anfrage laufen darf.Proxy-AuthorizationZugangsdaten für den Proxy statt für den Ursprungsserver.TENennt die akzeptierten Transfer-Codierungen.Upgrade-Insecure-RequestsBittet den Server, http-Links auf https zu heben.X-Forwarded-ForTrägt die ursprüngliche Client-IP durch Proxys; kein Standard, aber verbreitet.X-Forwarded-ProtoGibt an, ob die ursprüngliche Anfrage über http oder https kam.X-Requested-WithEine alte Konvention, die JavaScript-Anfragen kennzeichnete.Accept-CharsetNennt die Zeichenkodierungen, die der Client akzeptiert; heute kaum noch genutzt.If-Unmodified-SinceBittet den Server, nur zu handeln, wenn sich die Ressource seitdem nicht geändert hat.Sec-CH-UANennt Marke und Hauptversion des Browsers; soll den User-Agent ersetzen.Sec-CH-UA-MobileSagt nur, ob das Gerät ein Telefon ist; ein einzelnes Ja-Nein-Kennzeichen.Sec-CH-UA-PlatformNennt das Betriebssystem der Anfrage; die Version ist ein eigener Hinweis.Save-DataTeilt dem Server mit, dass Daten gespart werden sollen; er kann Leichteres senden.Device-MemoryNennt ungefähr den Arbeitsspeicher des Geräts; der Wert ist bewusst grob.Early-DataKennzeichnet eine Anfrage, die als frühe Daten vor dem Handschlag gesendet wurde.Access-Control-Request-MethodFragt vorab, welche Methode die eigentliche Anfrage nutzt; nur beim Preflight.Access-Control-Request-HeadersFragt vorab, welche Header die eigentliche Anfrage mitbringt; nur beim Preflight.Sec-PurposeKennzeichnet die Anfrage als spekulativ; prefetch heißt, es wurde noch nicht geklickt.Sec-CH-UA-ArchMeldet die CPU-Architektur, also ob arm oder x86.Sec-CH-UA-ModelMeldet den Gerätenamen; in der Praxis füllen ihn nur Mobilgeräte.Sec-CH-UA-Platform-VersionMeldet die Betriebssystemversion; Gegenstück zu Sec-CH-UA-Platform.X-Forwarded-HostDer ursprüngliche Host der Anfrage, bevor ein Proxy ihn ersetzt hat.X-Real-IPEin Proxy reicht hier die ursprüngliche Client-Adresse weiter; kein Standard, aber verbreitet.Alt-UsedSagt, dass der Client wegen Alt-Svc hierher wechselte — das verhindert Schleifen.Sec-WebSocket-KeyEin Zufallswert beim Upgrade auf WebSocket; der Server schickt ihn verarbeitet zurück.Sec-WebSocket-VersionDie angefragte WebSocket-Protokollversion; praktisch immer 13.Last-Event-IDSendet die zuletzt empfangene Event-ID, damit ein abgerissener SSE-Strom weiterläuft.TraceparentTrägt die Trace-ID, die eine Anfrage über alle beteiligten Dienste hinweg verknüpft.BaggageTrägt Schlüssel-Wert-Kontext, der mit der Anfrage durch die Dienste reist.Idempotency-KeyEin Schlüssel, damit der Server eine wiederholte Anfrage als dieselbe behandelt — oft bei Zahlungen.PreferTeilt dem Server mit, was der Client bevorzugt; er darf es erfüllen oder nicht.Sec-GPCSignal des Browsers, dass die Person den Verkauf oder die Weitergabe ihrer Daten ablehnt.Sec-CH-Prefers-Color-SchemeTeilt mit, ob die Person ein helles oder dunkles Farbschema bevorzugt.Sec-CH-UA-Full-Version-ListNennt die vollen Versionen von Browser und Engines — der Ersatz für User-Agent.

Response-Header56

Header, die der Server bei der Antwort anfügt.

Access-Control-Allow-OriginNennt die Ursprünge, die diese Antwort lesen dürfen — der Kern von CORS.Access-Control-Allow-MethodsListet die für ursprungsübergreifende Anfragen erlaubten Methoden.Access-Control-Allow-HeadersListet die bei ursprungsübergreifenden Anfragen erlaubten Header.Access-Control-Allow-CredentialsLegt fest, ob ursprungsübergreifende Anfragen Cookies mitführen dürfen.Access-Control-Max-AgeGibt an, wie lange das Preflight-Ergebnis gilt.AgeWie lange die Antwort schon im Cache liegt.AllowNennt die akzeptierten Methoden; begleitet einen 405.Content-DispositionBestimmt Anzeigen oder Herunterladen und trägt den Dateinamen.Content-Security-PolicySteuert, woher Skripte und Bilder stammen dürfen — der Zaun gegen XSS.ETagEin Fingerabdruck dieser Fassung; ändert sich der Inhalt, ändert sich das Tag.ExpiresNennt den Zeitpunkt, ab dem die Antwort als veraltet gilt.Last-ModifiedWann sich die Ressource zuletzt geändert hat; Basis bedingter Anfragen.LocationDie nächste Adresse; begleitet Weiterleitungen und 201.Permissions-PolicyRegelt, welche Dokumente Kamera, Mikrofon oder Standort nutzen dürfen.Referrer-PolicyBestimmt, wie viel Referrer-Information mitgeht.Retry-AfterNennt den nächsten Versuch; begleitet 429 oder 503.ServerNennt die Serversoftware; zu viele Details helfen Angreifern.Set-CookieSetzt ein Cookie im Browser; mit HttpOnly und Secure ist es sicherer.Strict-Transport-SecurityWeist den Browser an, diese Site künftig nur über https zu laden.Timing-Allow-OriginErlaubt einer anderen Herkunft, Timing-Messwerte zu lesen.VaryNennt die Header, die die Antwort verändern; Caches schlüsseln danach.WWW-AuthenticateNennt das Authentifizierungsverfahren; begleitet einen 401.X-Content-Type-OptionsVerhindert, dass der Browser einen anderen Inhaltstyp errät.X-Frame-OptionsVerhindert, dass andere Seiten diese Seite einbetten.X-XSS-ProtectionAktivierte einen alten XSS-Filter; heute übernimmt das CSP.Cross-Origin-Opener-PolicyIsoliert den Kontext, damit andere Ursprünge kein Fenster-Handle halten.Cross-Origin-Resource-PolicyLegt fest, welche Ursprünge diese Ressource überhaupt laden dürfen.Cross-Origin-Embedder-PolicyVerlangt, dass eingebettete fremde Ressourcen ausdrücklich zustimmen.Content-RangeNennt den gesendeten Ausschnitt des Ganzen; begleitet einen 206.Accept-RangesGibt an, ob Bereichsanfragen möglich sind; bytes heißt: Fortsetzen geht.Accept-PatchNennt die Patch-Formate, die die Ressource annimmt.Accept-PostNennt die Medientypen, die die Ressource per POST annimmt.Alt-SvcWeist auf einen anderen Weg zum selben Dienst hin, oft auf HTTP/3.Clear-Site-DataWeist den Browser an, gespeicherte Daten zu löschen; meist beim Abmelden.LinkVerweist im Header auf verwandte Ressourcen, auch für Preload-Hinweise.NELLegt fest, wohin der Browser aufgetretene Netzwerkfehler meldet.Report-ToRegistriert benannte Ziele, an die spätere Berichte gehen.Server-TimingMeldet, wie lange jede Stufe im Server gedauert hat.SourceMapVerweist auf die Karte zurück zum ursprünglichen Quelltext.X-DNS-Prefetch-ControlSchaltet das vorausschauende Auflösen von DNS-Namen ein oder aus.X-Permitted-Cross-Domain-PoliciesSteuert, ob alte Plug-ins Daten von dieser Herkunft laden dürfen.X-Robots-TagGibt Indexierungsregeln im Header an Suchroboter weiter, auch für Bilder und PDFs.Origin-Agent-ClusterBittet den Browser, diese Herkunft in einem eigenen Cluster zu isolieren.Proxy-AuthenticateGibt an, wie ein Proxy die Identität des Clients bestätigt haben will.Access-Control-Expose-HeadersNennt die Antwort-Header, die ein Skript lesen darf.CDN-Cache-ControlEine Caching-Regel nur für das Auslieferungsnetz; Browser ignorieren sie.Accept-CHNennt die gewünschten Client Hints; der Browser schickt sie ab der nächsten Anfrage.Critical-CHMarkiert Hints als kritisch; der Browser wiederholt die erste Anfrage damit.Reporting-EndpointsGibt an, wohin Fehlerberichte gehen; es löst das ältere Report-To ab.X-Powered-ByVerrät die Servertechnik; das bringt nichts, deshalb wird es meist entfernt.X-CacheSagt, ob ein CDN aus dem Cache antwortete; HIT heißt, der Ursprung blieb unberührt.RefreshWeist den Browser an, nach Sekunden umzuziehen; nicht standardisiert, aber überall befolgt.Sec-WebSocket-AcceptGibt den Client-Schlüssel fest gehasht zurück; nur bei Übereinstimmung öffnet die Verbindung.Speculation-RulesGibt dem Browser Regeln, welche Adressen vorab geladen werden sollen.No-Vary-SearchGibt an, welche Query-Parameter beim Cache-Abgleich ignoriert werden dürfen.X-UA-CompatibleSagte dem alten Internet Explorer, welchen Rendering-Modus er nutzen soll.

In beide Richtungen22

Header, die auf beiden Seiten auftreten können.

Cache-ControlLegt Dauer und Ort des Cachings fest — die halbe Web-Performance hängt daran.ConnectionSagt, ob die Verbindung offen bleibt; ab HTTP/2 entfällt er.Content-EncodingNennt die auf den Body angewandte Kompression.Content-LanguageNennt die Sprache des Bodys.Content-LengthNennt die Größe des Bodys in Bytes.Content-TypeDeklariert Medientyp und Zeichensatz; falsch gesetzt erscheint ein Bild als Text.DateDer Zeitpunkt, zu dem die Nachricht entstand.PragmaEin alter Cache-Header; heute übernimmt Cache-Control.TrailerKündigt an, welche Header nach dem Body folgen.Transfer-EncodingBeschreibt die Übertragungsaufteilung; chunked erlaubt unbekannte Länge.UpgradeSchlägt einen Protokollwechsel vor; gehört zum 101.ViaVerzeichnet die durchlaufenen Proxys.WarningTrug Hinweise zu Caching oder Umwandlung; heute nicht mehr in Gebrauch.PriorityGibt an, wie dringend die Anfrage ist und ob sie vorgezogen werden darf.Content-LocationNennt die tatsächliche Adresse des gerade gesendeten Inhalts.Keep-AliveGibt an, wie lange eine wiederverwendete Verbindung offen bleibt.Content-DigestTrägt eine Prüfsumme des Inhalts, damit die Gegenseite die Unversehrtheit prüfen kann.TracestateTrägt anbieterspezifische Trace-Daten neben traceparent.Repr-DigestTrägt einen Hash der Repräsentation, damit die Gegenseite die Unversehrtheit prüfen kann.SignatureDie Signatur der Nachricht, mit der die Gegenseite den Absender prüfen kann.Signature-InputBeschreibt, was die Signatur abdeckt: welche Header wie signiert wurden.X-Request-IDEine ID je Anfrage, um genau diese Anfrage in den Logs wiederzufinden.

So liest man das

  • Die erste Ziffer des Statuscodes trägt die Bedeutung: 4 heißt Anfrage, 5 heißt Server.
  • 404 heißt „nicht da", 403 heißt „da, aber nicht für Sie". Wer sie vertauscht, sucht länger.
  • Header-Namen unterscheiden keine Groß- und Kleinschreibung — Content-Type und content-type sind dasselbe.
  • Cache- und CORS-Probleme hängen meist an einer Header-Zeile, sichtbar im Netzwerk-Tab.

Häufige Fragen

QWas unterscheidet 404 von 403?

404 sagt: An dieser Adresse liegt nichts. 403 sagt: Es liegt etwas da, aber nicht für Sie. Manche Server antworten absichtlich mit 404, um die Existenz überhaupt zu verbergen.

QKann ich bei einem 500 etwas tun?

Codes mit 5 sind Sache des Servers, meist hilft nur Warten. Ein 502 oder 504 steckt jedoch zwischen zwei Servern und löst sich oft beim erneuten Versuch kurz darauf.

QWann 301, wann 302?

301, wenn die Adresse endgültig umgezogen ist, 302 bei einem vorübergehenden Umweg. Browser und Suchmaschinen merken sich ein 301 lange — das lässt sich schwer zurücknehmen.

QSind Header-Namen case-sensitiv?

Nein. Content-Type und content-type sind derselbe Header, und seit HTTP/2 werden sie ohnehin klein geschrieben übertragen.

QWarum entstehen CORS-Fehler?

Will eine Seite eine Antwort fremder Herkunft lesen, blockt der Browser, sofern der Server es nicht mit Access-Control-Allow-Origin erlaubt. Der Server hat geantwortet — der Browser reicht den Body nur nicht an Ihren Code weiter. Deshalb zeigt der Netzwerk-Tab eine Antwort, die das Skript nicht lesen kann.