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-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 APIHttpStatusCode.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