Unter HTTP Status Codes versteht man die „Antwort“ eines Servers auf eine HTTP-Anfrage (Request). Üblicherweise ist der anfragende Client dabei ein Webbrowser (Firefox, Chrome, etc.). Die erste Zahl des dreistelligen Codes stellt dabei die Klasse dar – z.B. 5xx: Server-Fehler. Sie werden in verschiedenen RFC (Requests for Comments) Dokumenten spezifiziert.
Hintergrund
Ruft man z.B. über einen Browser eine Ressource (z.B. eine Website) auf, liefert der Server eine Antwort auf die Anfrage. Typischerweise ist die Seite aufrufbar. In diesem Fall liefert der Server den HTTP Statuscode 200 – OK. Dieser bedeutet, dass die Anfrage erfolgreich bearbeitet wurde. Der Inhalt der Seite wird als Quelltext in der Antwort ebenfalls übertragen. Wurde die angefragte Seite allerdings gelöscht oder ist nicht vorhanden, kommt der bekannte Fehlercode 404 – Not Found. Der Fehlercode 404 wird deswegen umgangssprachlich auch als „Fehlerseite“ bezeichnet. Weitere bekannte Status Codes sind z.B. 503 – Service Unavailable (typischerweise ein überlasteter Server), 403 – Forbidden (der Inhalt ist zugangsgeschützt) oder 301 – Moved Permanently (eine Weiterleitung).
HTTP Status Codes und SEO
Das Wissen um die wichtigsten Status Codes gehört zu den Grundlagen der Suchmaschinenoptimierung. Nicht erreichbare Seiten (z.B. 404) werden von Suchmaschinen abgestraft. Auch bei der Umsetzung von Redirects (z.B. 301) spielen Status Codes eine wichtige Rolle. Tools wie Xenu Link Sleuth helfen dabei, entsprechende Codes auf der eigenen Seite ausfindig zu machen. Browser wie Firefox oder Chrome bieten eine einfache Möglichkeit, um den Statuscode zu verfolgen: per „F12“-Taste lassen sich die Developers-Tools öffnen. Wählt man nun den Reiter „Netzwerkanalyse“ und ruft eine Seite auf, findet man alle Informationen zu Status und Methode der Anfrage:
1XX HTTP Statuscodes
Status Codes der Klasse 100 besagen, dass der Request noch nicht abgeschlossen ist, also noch andauert. Der Status ist damit quasi provisorisch.
HTTP 100 continue
„fortfahren“
Der Status Code 100 bedeutet, dass die betroffene Anfrage noch bearbeitet wird. Der Server wartet nun auf weitere Anfragen des Clients.
HTTP 101 Switching Protocols
„Wechsel des Protokolls“
In der Regel auf Client-Seite angefragt, bedeutet 101, dass der Server mit einem Wechsel des Protokolls einverstanden ist. Der Client muss dafür das Upgrade-Header-Feld mitgesendet haben. Gewechselt wird beispielsweise von HTTP zu einem weiteren Protokoll.
HTTP 102 Processing
„in Verarbeitung“
Handelt es sich um eine zeitintensive Anfrage infolge eines WebDAV-Requests mit mehreren Sub-Requests, kann vom Server der Code 102 gesendet werden, um einen Timeout zu vermeiden. WebDAV (Web-based Distributed Authoring and Versioning) wurde entwickelt, um auf Basis von HTTP Dokumente und Dateien in einem Netzwerk bearbeiten und verändern zu können.
HTTP 103 Early Hints
„frühe Hinweise“
Der Status Code 103 Early Hints („frühe Hinweise“) wurde konzipiert, um die Latenzzeit zu verringern. Da die HTTP-Response eines Servers oft auf externe Quellen bzw. deren Antwort angewiesen ist, kann die Antwort unnötig lange dauern. Der 103 stellt dabei eine Art Überbrückung dar, mit dessen Hilfe sich der Client sozusagen vorbereiten kann.
HTTP 200 Codes
Status Codes der Klasse 200 besagen in der Regel, dass der Request des Clients vom Server empfangen und akzeptiert wurde.
HTTP 200 OK
Der wahrscheinlich häufigste HTTP Status Code beim Surfen im Internet. Der Browser fordert eine Website an, diese wird von Server zusammen mit dem Statuscode 200 übermittelt.
HTTP 201 Created
„erzeugt“
Der Code 201 bedeutet, dass eine neue Ressource erstellt und in der Zwischenzeit geladen wurde. Typischerweise erfolgt diese Antwort des Servers auf eine sogenannte PUT-Anfrage.
HTTP 202 Accepted
„akzeptiert“
Die Anfrage des Clients wurde akzeptiert, allerdings wurde sie noch nicht ausgeführt. Üblicherweise wird der Code gesendet, wenn die Anfrage von einem weiteren Prozess bzw. Server bearbeitet wird. Ob die Anfrage letztlich erfolgreich ist, sagt der Status Code jedoch nicht aus.
HTTP 203 Non-authoritative Information
„unverbindliche Information“
Non-Authoritative Information: Der Server agiert als sogenannter „Transforming Proxy“, und empfängt von der Quelle einen Status Code 200. Er liefert im Anschluss eine modifizierte Version der Antwort der Quelle. Ein Transforming Proxy kann z.B. ein Web Accelerator sein.
HTTP 204 No Content
„kein Inhalt enthalten“
Der Status Code 204 bedeutet, dass die Anfrage erfolgreich war, jedoch kein Content in der Antwort enthalten ist. Der Client ist entsprechend nicht genötigt, seinen aktuellen „Aufenthaltsort“ (z.b. eine bestimmte Website) zu verlassen. Ein typischer Anwendungsfall ist der Speichervorgang bei Interfaces zur Bearbeitung von Dokumenten. Wird hier gespeichert, antwortet der Server mit 204 – der Client verbleibt beim gerade bearbeiteten Dokument.
HTTP 205 Reset Content
„Inhalte zurücksetzen“
Wie bei 204 antwortet der Server, dass die Anfrage erfolgreich war, jedoch kein Content übermittelt wurde. Anders als bei 204 wird beim Status Code 205 allerdings die der ursprünglich für den Request verantwortliche „Document View“ neu geladen. Ein typischer Anwendungsfall ist ein Formular, bei dem Daten übermittelt werden. Mit 205 wird das Formular neu geladen, um weitere Eingaben zu ermöglichen.
HTTP 206 Partial Content
„partieller Inhalt“
Wird durch den Client ein sogenannter „Range Header“-Request gesendet, antwortet der Server mittels 206 Status Code und informiert über die Übermittlung von Teilen der angeforderten Ressource. Typischerweise handelt es sich dabei um Downloads, die in mehrere Teile aufgesplittet werden, oder auch mehrere gleichzeitige Streams.
HTTP 207 Multi-Status
Werden mehrere Ressourcen angefordert, kann es vorkommen, dass der Server mit einem 207 Status Code antwortet. In der Multi-Status-Antwort wird im Body ein Multistatus-Root Element im Text bzw. XML Format übergeben. Das Root Element kann dabei mehrere „Response“-Elemente enthalten, die jeweils die Klassen 200, 300, 400 und 500 beinhalten können (Status Codes der Klasse 100 dürfen nicht in einem Response-Element enthalten sein). So kann über den Status mehrerer Ressourcen Auskunft gegeben werden (über ein href-Element in den Response-Elementen werden die Ressourcen identifiziert).
HTTP 208 Already Reported
„bereits aufgezählt“
Der Status Code 208 wird innerhalb einer WebDAV-Bindung (Web Distributed Authoring and Versioning) verwendet. Die Server-Antwort bedeutet, dass die Mitglieder der Bindung bereits aufgezählt wurden und entsprechend in der Antwort nicht mehr enthalten sind.
HTTP 226 IM Used
„Instanz Manipulation verwendet“
Beim Status Code 226 hat der Server eine GET-Anfrage erfüllt. In der Antwort wird das Ergebnis von einer oder mehreren Instanz-Manipulationen dieser Instanz aufgeführt.
HTTP 300 Codes
Status Codes der Klasse 300 besagen in der Regel, dass eine weitere Aktion des Clients nötig ist. Üblicherweise handelt es sich dabei um Weiterleitungen (sogenannte Redirects).
HTTP 300 Multiple Choices
„mehrere Varianten vorhanden“
Der Status Code 300 besagt, dass die angefragte Ressource in mehreren Varianten vorliegt. Dabei kann es sich z.B. um mehrere Videoformate handeln, die in der Antwort aufgelistet werden. Im „Location“-Header-Feld kann dabei eine vom Server bevorzugte Variante enthalten sein.
HTTP 301 Moved Permanently
„dauerhafte Weiterleitung“
Beim 301 Status Code, auch Redirect genannt, wird dem Client mitgeteilt, dass die angeforderte Ressource künftig unter der (im „Location“-Header-Feld) genannten Adresse bereitsteht. Der 301-Redirect wird in der Suchmaschinenoptimierung bevorzugt, da für Suchmaschinen klar ist, dass ab diesem Zeitpunkt die ursprüngliche Ressource nicht mehr gültig ist.
HTTP 302 Found
„gefunden (temporär verschoben)“
Der Status Code 302, auch temporäre Weiterleitung genannt, gibt an, dass die Ressource vorübergehend unter der im Header genannten Adresse erreichbar ist. Der 302-Redirect wird im Black Hat SEO für das sogenannte URL-Highjacking benutzt. Heute wird der 302 meist durch die Statuscodes 303 bzw. 307 ersetzt.
HTTP 303 See Other
„siehe andere“
Beim Status Code 303 wird dem Browser mitgeteilt, dass die angeforderte Ressource unter einer anderen Adresse erreichbar ist. Der Browser soll dabei einen GET-Request an die neue Adresse senden, unabhängig davon, ob der ursprüngliche Request ein GET, POST oder PUT/DELETE war.
HTTP 304 Not Modified
„nicht verändert“
Der Status Code 304 besagt, dass sich die angeforderte Ressource seit der letzten Abfrage nicht verändert hat. Eine erneute Übertragung ist daher nicht nötig.
HTTP 305 Use Proxy
„nutze Proxy“
Mittels 305 Status Code wird dem Client mitgeteilt, dass die angeforderte Ressource nur mittels Proxy erreichbar ist. Der Proxy wird in der Antwort übermittelt. Aus Sicherheitsgründen wird der Statuscode von gängigen Browsern wie Mozilla nicht korrekt verarbeitet.
HTTP 306
(obsolet)
Der Status Code 306 wird nicht länger verwendet. Er gibt an, dass nachfolgende Requests den in der Antwort spezifizierten Proxy verwenden sollen.
HTTP 307 Temporary Redirect
„temporäre Weiterleitung“
Die angeforderte Ressource ist vorübergehend unter einer anderen URL erreichbar. Beim 307 werden, anders als beim 302, der Body und die Methode beim folgenden Request wiederverwendet. Wurde beim ersten Request ein POST verwendet, muss dieser auch beim nachfolgenden Request verwendet werden.
HTTP 308 Permanent Redirect
„Permanente Weiterleitung“
Die angeforderte Ressource ist dauerhaft unter einer neuen URL erreichbar. Die neue Adresse wird im „Location“-Header-Feld übergeben. Wie beim 307 ist es auch hier nicht erlaubt, die HTTP-Methode für den nachfolgenden Request zu verändern.
HTTP 400 Codes
Status Codes der Klasse 400 betreffen meist Client-seitige Fehler. Die Ursache des Problems liegt also nicht beim Server.
HTTP 400 Bad Request
„ungültige Anforderung“
Der Server kann die Anfrage des Clients nicht beantworten, z.B. weil die Syntax der Anfrage fehlerhaft ist.
HTTP 401 Unauthorized
„unautorisierte Anfrage“
Wie beim Status Code 403 fehlt die Berechtigung, auf die Ressource zuzugreifen. Das kann der Fall sein, wenn die Authentifizierung fehlgeschlagen ist oder noch nicht durchgeführt wurde. Die geforderte Authentifizierung muss dabei im Header-Feld „WWW-Authenticate“ mit übergeben werden.
HTTP 402 Payment Required
„Zahlung benötigt“
Der Statuscode 402 ist für künftige Prozesse zur Zahlungsabwicklung vorgesehen und wird aktuell noch nicht verwendet. Er wird allerdings z.B. von der Google Developers API genutzt, wenn ein Entwickler das tägliche Limit an Requests überschritten hat.
HTTP 403 Forbidden
„Zugriff verboten“
Ähnlich wie beim Status Code 401 wird dem Client der Zugriff verwehrt. Allerdings ist dies permanent, ein erneutes Senden des Requests mit entsprechender Authentifizierung ist hier nicht möglich.
HTTP 404 Not Found
„Ressource nicht gefunden“
Der wohl bekannteste Status Code im WWW. Antwortet der Server auf einen Request mit einem 404 Status Code, konnte die angeforderte Ressource (z.B. eine Website) nicht gefunden werden. Mögliche Ursachen sind dabei ein Fehler im Link, oder die Seite wurde inzwischen gelöscht.
HTTP 405 Method Not Allowed
„Methode nicht erlaubt“
Der Status Code 405 besagt, dass die beim Request verwendete Methode für die Ressource nicht erlaubt ist. Werden z.B. bei einem Formular Daten per GET übermittelt, der Server erlaubt aber nur POST Requests, antwortet dieser mit einem 405. Dabei muss der Server die erlaubten Methoden im Header-Feld übermitteln.
HTTP 406 Not Acceptable
„nicht akzeptabel“
Antwortet der Server mit einem 406 Status Code, ist er nicht in der Lage, die Ressource in der vom Client angeforderten Variante bereitzustellen. Der Server sollte infolge eine Payload mit den verfügbaren Varianten zur Verfügung stellen.
HTTP 407 Proxy Authentication Required
„Proxy Authentifizierung benötigt“
Ähnlich wie beim Status Code 401 wird hier eine Authentifizierung vom Client gefordert, um einen Proxy nutzen zu können. Der Proxy muss dabei in der Antwort ein „Proxy-Authenticate header field“ übermitteln, um dem Client mitzuteilen, wie die Authentifizierung erfolgen kann.
HTTP 408 Request Timeout
„Zeitüberschreitung der Anfrage“
Der Server hat innerhalb der erlaubten Zeitspanne keinen vollständigen Request vom Client empfangen. Der Client kann den Request dabei ohne Anpassung zu einem späteren Zeitpunkt wiederholen.
HTTP 409 Conflict
„Konflikt“
Beim Status Code 409 kann der Request nicht ausgeführt werden, der Server meldet einen Konflikt. In der Regel betrifft dies einen PUT-Request. Z.B. wird versucht, eine Datei upzuloaden, die eine ältere Version darstellt, als jene auf dem Server. Dies tritt vor allem dann auf, wenn mehrere Anwender auf eine Ressource zugreifen.
HTTP 410 Gone
„Ressource entfernt“
Der Status Code 410 besagt, dass die angefragte Ressource permanent vom Server entfernt wurde. Im Gegensatz zum 404 ist hier klar, dass die Ressource nicht mehr erreichbar sein wird.
HTTP 411 Length Required
„Länge benötigt“
Die Anfrage wurde vom Server zurückgewiesen, da kein Content-Length Header mit übergeben wurde. Beim Content-Length Header wird die Größe des Message-Body in Byte angegeben.
HTTP 412 Precondition Failed
„Vorbedingung nicht erfüllt“
Beim Status Code 412 wurden eine oder mehrere Vorbedingungen, die im Request definiert waren, nicht erfüllt. Der Zweck ist, den Request (z.B. einen Dateiupload) nur dann auszuführen, wenn gewisse Bedingungen erfüllt wurden. Beim „If-Unmodified-Since“-Request bedeutet diese Vorbedingung z.B., dass die Ressource vom Server nur dann zurückgesendet wird, wenn sie seit einem bestimmten Datum nicht modifiziert wurde.
HTTP 413 Payload Too Large
„Anfrage-Entität zu groß“
Die angeforderte Payload ist größer als das vom Server definierte Limit. Eventuell wird die Verbindung vom Server geschlossen. Ist dieser Zustand temporär, wird vom Server ein Retry-After-Header übergeben. Dieser teilt dem Client mit, nach welcher Zeit ein erneuter Versuch gestartet werden kann.
HTTP 414 Request-URI Too Long
„URI zu lang“
Der URI (Uniform Resource Identifier) Request ist länger als das vom Server definierte Limit. Das tritt auf, wenn der Client unerlaubterweise einen POST- in einen GET-Request umgewandelt hat. Der Status 414 tritt ebenfalls auf, wenn der Client in einer Endlosschleife aus Redirects gefangen ist. Selten ist der Grund auch eine Attacke auf den Server durch einen Client.
HTTP 415 Unsupported Media Type
„Medientyp nicht unterstützt“
Der Code 415 tritt auf, wenn der übermittelte Payload ein Format enthält, das von der angeforderten Ressource nicht unterstützt wird. Ein Bild wird beispielsweise als Vektor-Grafik an den Server gesendet, dieser erwartet jedoch ein anderes Bild-Format.
HTTP 416 Requested Range Not Satisfiable
„Anfrage-Bereich kann nicht ausgeliefert werden“
Der Client fordert einen Teil einer Ressource an, der in dieser Form vom Server nicht ausgeliefert werden kann.
HTTP 417 Expectation Failed
„Anforderung kann nicht erfüllt werden“
Die im „Expect“-Headerfeld definierte Anforderung konnte vom Server nicht erfüllt werden.
HTTP 418 I’m a Teapot
Der Status Code 418 war ein Aprilscherz der IETF (Internet Engineering Task Force). Der Code ist die vorgesehene Antwort eines Teekessels auf die Anfrage, Kaffee zu brühen. Der Status Code 418 wird nicht verwendet, findet sich allerdings auf diversen Seiten (z.B. www.google.com/teapot) als Easteregg.
HTTP 421 Misdirected Request
„fehlgeleitete Anfrage“
Der Server antwortet mit einen Status 421, wenn er nicht dazu konfiguriert ist, den Request in dieser Form auszuführen. Das tritt z.B. bei einem „Connection Reuse“ auf.
HTTP 422
„unverarbeitbare Entität“
Die Verwendung eines Status 415 ist unpassend, weil der Server den Content-Typ des Requests versteht, Code 400 ist unpassend, weil die Syntax des Requests korrekt ist. In diesem Fall wird der Server mit einem Status Code 422 antworten, z.B. weil in der Anfrage semantische Fehler enthalten sind. Tritt z.B. auf, wenn ein XML-Request-Body eine korrekte Syntax aufweist, aber die XML-Instruktionen semantische Fehler enthalten.
HTTP 423 Locked
„Ressource gesperrt“
Die angeforderte Ressource ist zurzeit gesperrt (WebDAV).
HTTP 424 Failed Dependency
„fehlgeschlagene Abhängigkeit“
Der Request konnte nicht ausgeführt werden, weil er auf einer Aktion basierte, die fehlgeschlagen ist.
HTTP 426 Upgrade Required
„Upgrade benötigt“
Beim Status Code 426 weigert sich der Server, den Request mit dem bestehenden Protokoll zu verwenden. Der Server kann den Request möglicherweise erfüllen, sofern der Client auf das vom Server im Upgrade-Headerfeld übermittelte Protokoll wechselt.
HTTP 428 Precondition Required
„Vorbedingung benötigt“
Eine vom Server verlangte Vorbedingung wurde nicht erfüllt, der Request konnte also nicht ausgeführt werden. Dies soll z.B. verhindern, dass der Client eine Ressource anfordert, modifiziert und wieder an den Server schickt, während dieselbe Ressource von einer dritten Partei modifiziert wurde.
HTTP 429 Too Many Requests
„maximale Anzahl an Anfragen“
Der Client hat die maximale Anzahl an Requests innerhalb eines bestimmten Zeitraums überschritten. Eventuell übermittelt der Server einen Retry-After-Header mit der Information, wann weitere Anfragen zugelassen werden.
HTTP 431 Request Header Fields Too Large
„Header-Felder zu lang“
Sind die Header-Felder eines Requests zu lang, antwortet der Server mit dem Code 431. Das tritt auf, wenn die Gesamtzahl der Header-Felder zu groß ist, oder wenn ein einzelnes Header-Feld zu lang ist.
HTTP 444 Connection Closed Without Response
„Verbindung ohne Antwort geschlossen“
Dieser Status Code findet sich ausschließlich in NGINX-Logs. Der Code zeigt an, dass die Verbindung vom Server geschlossen wurde, ohne den Client zu informieren. Wird in der Regel verwendet, um vor schädlichen und fehlerhaft formulierten Requests zu schützen.
HTTP 451 Unavailable For Legal Reasons
„aus rechtlichen Gründen gesperrt“
Der Status Code 451 tritt auf, wenn die angeforderte Ressource aus rechtlichen Gründen gesperrt wurde. Die Zahl 451 ist dabei eine Hommage an das Buch Fahrenheit 451.
HTTP 499 Client Closed Request
„Client hat die Verbindung beendet“
Dieser Status Code ist ein von NGINX verwendeter Code, der anzeigt, dass der Client die Verbindung beendet hat, bevor die Anfrage vom Server fertig verarbeitet wurde.
HTTP 500 Codes
Status Codes der Klasse 500 sind meist auf Server-seitige Fehler zurückzuführen. Außer bei HEAD-Anfragen sollte der Server eine Antwort mit Informationen über den Fehler senden, inklusive der Information, ob der Zustand temporär oder andauernd ist.
HTTP 500 Internal Server Error
„interner Serverfehler“
Am Server ist ein „unerwarteter Fehler“ aufgetreten. Der Request kann nicht ausgeführt werden. Die Ursache für den 500er Fehler wird nicht angegeben.
HTTP 501 Not Implemented
„nicht implementiert“
Der Server kann die angeforderte Methode nicht bearbeiten oder sie ist unbekannt.
HTTP 502 Bad Gateway
„schlechtes Gateway“
Der Server fungiert als Gateway oder Proxy und hat seinerseits vom angefragten Server eine ungültige Antwort erhalten.
HTTP 503 Service Unavailable
„Dienst nicht verfügbar“
Beim Status Code 503 ist der Server im Moment nicht in der Lage, die Anfrage zu beantworten. Typischerweise liegt das an einer Überlastung bzw. einer Server-Wartung. Der Server sollte, sofern möglich, im Retry-After-Header angeben, wann er wieder erreichbar sein wird.
HTTP 504 Gateway Time-out
Der Server agiert als Gateway oder Proxy und hat innerhalb einer bestimmten Zeitspanne keine Antwort vom Zielserver erhalten.
HTTP 505 HTTP Version Not Supported
„HTTP-Version wird nicht unterstützt“
Der Server ist nicht in der Lage oder weigert sich, die in der Anfrage verwendete HTTP-Version zu verarbeiten. Der Server sollte in seiner Antwort angeben, welche HTTP-Versionen unterstützt werden.
HTTP 506 Variant Also Negotiates
„Variant Also Negotiates“
Bei der sogenannten „Content Negotiation“ (Inhaltsvereinbarung) werden Inhalte einer Ressource auf die Möglichkeiten des Clients abgestimmt. Ist die angefragte Ressource auf dem Server nun ebenfalls konfiguriert, Content Negotiation vorzunehmen, entsteht eine Endlosschleife (Zirkelbezug). In diesem Fall liefert der Server den Status Code 506.
HTTP 507 Insufficient Storage
„unzureichender Speicher“
Der Server verfügt zurzeit nicht über den nötigen Speicherplatz, um die Anfrage zu beantworten.
HTTP 508 Loop Detected
„Endlosschleife“
Die Anfrage wurde nicht bearbeitet, da sie in eine Endlosschleife führt (WebDAV).
HTTP 510 Not Extended
„nicht alle Anforderungen erfüllt“
Der Request erfüllt nicht alle Anforderungen, um auf die gewünschte Ressource zuzugreifen. Der Server sollte in seiner Antwort spezifizieren, welche Anforderungen notwendig sind.
HTTP 511 Network Authentication Required
„Netzwerk-Authentifizierung notwendig“
Eine Authentifizierung ist notwendig, um sich mit dem Netzwerk zu verbinden. Der Status Code wird nicht vom Zielserver selbst, sondern meist von einem vorgeschalteten Proxy gesendet. Der Server sollte in seiner Antwort einen Link senden, der dem User erlaubt, z.B. etwaige Zugangsdaten einzugeben. Ein Anwendungsbeispiel ist ein Wifi-Hotspot, bei dem ein vorgeschalteter Proxy dafür sorgt, dass die Nutzungsbedingungen akzeptiert werden.
HTTP 599 Network Connect Timeout Error
„Verbindungs-Timeout“
Dieser Statuscode wird von einigen HTTP-Proxies verwendet, um einem Client vor dem Proxy einen Verbindungs-Timeout hinter dem Proxy zu signalisieren.
Fazit
Das Verständnis der HTTP Status Codes verschafft einen Einblick in die Funktionsweise des Internets. Gerade für SEOs gehören bestimmte Codes (301, 302, 307, 404, 410,…) zum Alltag. Das korrekte Handling von Redirects und die Analyse auf Fehlerseiten sind Basics in der Suchmaschinenoptimierung.
VIDEO: Googles Matt Cutts über den Unterschied zwischen 404 und 410:
https://www.youtube.com/watch?v=xp5Nf8ANfOw