Die Unterschiede zwischen den verschiedenen HTTP 3XX-Umleitungscodes sind mir nicht klar. Ja, ich habe die Spezifikation gelesen, aber es scheint hier eine gewisse Diskrepanz zwischen der Standard- und der tatsächlichen Praxis zu geben.
Der 301
Umleitungscode scheint klar genug zu sein: Dies bedeutet, dass die Ressource dauerhaft in einen anderen URI verschoben wurde und zukünftige Anforderungen diesen URI verwenden sollten.
Der 307
Umleitungscode scheint ebenfalls klar zu sein: Dies bedeutet, dass die Umleitung nur vorübergehend ist und zukünftige Anforderungen weiterhin den ursprünglichen URI verwenden sollten.
Aber ich kann nicht sagen, was der Unterschied zwischen 302
und 303
ist oder warum sich beide wirklich von unterscheiden 301
. Es scheint, dass dies 302
ursprünglich als vorübergehende Weiterleitung gedacht war (wie 307
), aber in der Praxis wurde es von den meisten Browsern wie eine behandelt 303
. Aber was ist der Unterschied zwischen a 303
und a 301
? Wird 301
soll die Umleitung soll bedeuten mehr dauerhaft?
quelle
Der Unterschied zwischen 303 und 307 ist folgender:
303 : Siehe andere. Die Anfrage wird korrekt empfangen, aber die Ergebnisse sollten mit einem GET in der Weiterleitungs-URL abgerufen werden.
307 : Temporäre Weiterleitung. Die gesamte Anfrage sollte an die neue URL umgeleitet werden. Alle Postdaten sollten erneut gepostet werden.
Beachten Sie, dass 302 das Verhalten von 307 haben sollte, aber die meisten Browser haben es als das Verhalten von 303 implementiert (beide existierten damals noch nicht). Daher wurden diese beiden neuen Codes eingeführt, um 302 zu ersetzen.
Der Unterschied zwischen 301 und 303:
301 : Das Dokument wird verschoben. Zukünftige Anfragen sollten die neue URL verwenden. Diese URL ist veraltet.
Hinweis: Seien Sie vorsichtig mit diesem Code. Browser und Proxys wenden in der Regel ein wirklich aggressives Caching an. Wenn Sie also mit einem 301 antworten, kann es lange dauern, bis jemand diese URL erneut aufruft.
303 : Die Anfrage wurde korrekt empfangen. Alle PUT-Anforderungen werden verarbeitet. Das resultierende Dokument kann aus der Umleitungs-URL abgerufen werden. Zukünftige Anfragen sollten weiterhin an die ursprüngliche URL gesendet werden.
quelle