301 Moved Permanently

Der Zielressource wurde eine neue, permanente URL zugewiesen die für zukünftige Anfragen genutzt werden soll.

Bedeutung

Die angefragt Zielressource steht dauerhaft unter einer anderen in der Location-Antwortkopfzeile angegebenen URL bereit. Der Client soll zukünftig diese neue URL für Anfragen nutzen. Bei der automatischen Weiterleitung darf die Anfrage Methode von POST zu GET geändert werden.

Spezifikation von 301 Moved Permanently

Der 301 Moved Permanently HTTP Status Code zeigt an, dass der Zielressource eine neue, permanente URL zugewiesen wurde und alle zukünftigen Referenzen auf diese Ressource die neue URL benutzen sollen. Clients mit der Fähigkeit zur Link-Bearbeitung sollen wo möglich automatisch alle Referenzen zur Anfrage-URL durch eine oder mehr neue Referenzen ersetzen, die vom Server gesendet wurden.

Der Server soll eine Location-Antwortkopfzeile in der Antwort erzeugen, welche eine präferierte URL-Referenz für die neue URL enthält. Der Benutzer-Agent kann dieses Location für eine automatische Weiterleitung nutzen. Die Nutzlast der Antwort vom Server enthält für gewöhnlich einen kurzen Hypertext-Hinweis mit einem Hyperlink zu der anderen URL.

Aus historischen Gründen kann der Benutzer-Agent die Methode der Anfrage von POST zu GET für die nachfolgende Anfrage nutzen. Wenn dieses Verhalten nicht gewünscht ist, so kann besser der 307 Temporäre Redirect HTTP Status Code genutzt werden.

Spezifiziert wird der 301 Moved Permanently HTTP Status Code durch Abschnitt 6.4.2. von RFC7231

Ausprobieren

🔧 Erzeuge eine Antwort mit dem HTTP Status Code 301

🔦 Checke den Status Code, die Anwort-Kopfzeilen und Weiterleitungsketten einer URL

Unterhaltsames

🐈 HTTP-Katze zu 301

🐩 HTTP Status Hund zu 301

HTTP-Versionen

  • HTTP 1.0
  • HTTP 1.1
  • HTTP 2
  • HTTP 3

Konstanten in Programmiersprachen

Ruby on Rails HTTP Status Symbol
 :moved_permanently

Microsoft Windows Runtime API
HttpStatusCode.MovedPermanently

Go HTTP Status Constant
 http.StatusMovedPermanently

Symfony HTTP Status Constant
 Response::HTTP_MOVED_PERMANENTLY

Python2 HTTP Status Constant
 httplib.MOVED_PERMANENTLY

Python3+ HTTP Status Constant
 http.client.MOVED_PERMANENTLY

Python3.5+ HTTP Status Constant
 http.HTTPStatus.MOVED_PERMANENTLY