wake-up-neo.net

Was ist der Unterschied zwischen den Statuscodes HTTP 301 und 308?

Was ist der Unterschied zwischen HTTP 301 und 308 Statuscodes?

  • 301 (Dauerhaft verschoben): Diese und alle zukünftigen Anfragen sollten an die angegebene URI gerichtet werden.

  • 308 (Permanent Redirect): Die Anfrage und alle zukünftigen Anfragen sollten mit einem anderen URI wiederholt werden.

Sie scheinen ähnlich zu sein.

Ein Überblick über 301, 302 und 307

Das RFC 7231 , die aktuelle Referenz für Semantik und Inhalt des HTTP/1.1-Protokolls, definiert das 301 (dauerhaft verschoben) und 302 (Gefunden) Statuscode, mit dem die Anforderungsmethode von POST in GET geändert werden kann. Diese Spezifikation definiert auch die 307 (Temporäre Umleitung) Statuscode, mit dem die Anforderungsmethode nicht von POST in GET geändert werden kann.

Weitere Details finden Sie unten:

6.4.2. 301 Permanent verschoben

Das 301 (Dauerhaft verschoben) Der Statuscode zeigt an, dass der Zielressource ein neuer permanenter URI zugewiesen wurde und zukünftige Verweise auf diese Ressource einen der beigefügten URIs verwenden sollten. [...]

Hinweis: Aus historischen Gründen KANN ein Benutzerprogramm die Anforderungsmethode für die nachfolgende Anforderung von POST in GET ändern . Wenn dieses Verhalten unerwünscht ist, wird 307 (Temporary Redirect) -Statuscode kann stattdessen verwendet werden.

6.4.3. 302 Gefunden

Das 302 (Gefunden) Statuscode zeigt an, dass sich die Zielressource vorübergehend unter einem anderen URI befindet. Da die Umleitung gelegentlich geändert werden kann, sollte der Client die effektive Anforderungs-URI für zukünftige Anforderungen weiterhin verwenden. [...]

Hinweis: Aus historischen Gründen KANN ein Benutzerprogramm die Anforderungsmethode für die nachfolgende Anforderung von POST in GET ändern . Wenn dieses Verhalten unerwünscht ist, wird 307 (Temporary Redirect) -Statuscode kann stattdessen verwendet werden.

6.4.7. 307 Temporäre Umleitung

Das 307 (Temporary Redirect) -Statuscode zeigt an, dass sich die Zielressource vorübergehend unter einem anderen URI befindet und der Benutzeragent die Anforderungsmethode NICHT ändern darf, wenn eine automatische Umleitung zu diesem URI durchgeführt wird. Da sich die Umleitung mit der Zeit ändern kann, sollte der Client die ursprüngliche effektive Anforderungs-URI für zukünftige Anforderungen weiterhin verwenden. [...]

Hinweis: Dieser Statuscode ähnelt 302 (Gefunden), mit der Ausnahme, dass die Anforderungsmethode nicht von POST in GET geändert werden kann. Diese Spezifikation definiert kein äquivalentes Gegenstück für 301 (Dauerhaft verschoben) ( RFC 7238 definiert jedoch den Statuscode 308 (Permanent Redirect) zu diesem Zweck).

Das Bedürfnis nach 308

Das RFC 7238 wurde erstellt, um das 308 (Permanent Redirect) Statuscode, ähnlich wie 301 (dauerhaft verschoben), aber die Anforderungsmethode kann nicht von POST in GET geändert werden.

Das 308 Statuscode wird jetzt durch RFC 7538 (das RFC 7238 ersetzt) ​​definiert.

3. 308 Permanent Redirect

Das 308 (Permanent Redirect) -Statuscode zeigt an, dass der Zielressource ein neuer permanenter URI zugewiesen wurde und dass zukünftige Verweise auf diese Ressource einen der beigefügten URIs verwenden sollten. Clients mit Linkbearbeitungsfunktionen sollten Verweise auf den effektiven Anforderungs-URI nach Möglichkeit automatisch mit einem oder mehreren der vom Server gesendeten neuen Verweise verknüpfen. [...]

Hinweis: Dieser Statuscode ähnelt 301 (Dauerhaft verschoben), mit der Ausnahme, dass die Anforderungsmethode nicht von POST in GET geändert werden kann.

Wir haben folgendes:

                                                             +-----------+-----------+
                                                             | Permanent | Temporary |
+------------------------------------------------------------+-----------+-----------+
| Allows changing the request method from POST to GET        | 301       | 302       |
+------------------------------------------------------------+-----------+-----------+
| Doesn't allow changing the request method from POST to GET | 308       | 307       |
+------------------------------------------------------------+-----------+-----------+

Auswahl des am besten geeigneten Statuscodes

Michael Kropat stellt ein Satz von Entscheidungstabellen zusammen, mit dessen Hilfe der beste Statuscode für jede Situation ermittelt werden kann. Siehe das Folgende für 2xx und 3xx Statuscodes:

Picking a 2xx or 3xx status code

183
cassiomolin