Was ist der Unterschied zwischen 301 und 302 in HTTP?

9

Ich sehe alle tinyurl-ähnlichen Websites 302

Aber was ist der Unterschied? Scheint, als würden beide für mich arbeiten

vps
quelle

Antworten:

12

Ein Status 301 (permanent verschoben) bedeutet, dass die Ressource dauerhaft an einen neuen Speicherort verschoben wurde. Der Client (Browser) sollte in Zukunft den neuen Speicherort anstelle des alten verwenden.

Ein Status 302 (gefunden) bedeutet, dass sich die Ressource vorübergehend an einer anderen Stelle befindet. Der Client sollte den angegebenen Speicherort für die aktuelle Anforderung verwenden, aber auch in Zukunft den alten Speicherort verwenden.

Beide Statuscodes bewirken, dass der Browser einer Umleitung folgt. Sie sollten einen 301- oder 302-Status verwenden, je nachdem, ob die Umleitung permanent oder temporär ist.

Weitere Informationen zu diesen HTTP-Antwortcodes finden Sie in RFC 2616 .

Phil Ross
quelle
Was ist, wenn ich 301 abbrechen möchte ? Ist das außer Kontrolle, da es nicht wieder verwendet wird?
vps
@vps Sie können die 301-Umleitung abbrechen, es gibt jedoch keine Garantie dafür, dass der Client die ursprüngliche URL erneut anfordert. Wenn Sie in der Lage sein möchten, die Weiterleitung in Zukunft abzubrechen, ist es möglicherweise besser, eine 302 zu verwenden.
Phil Ross
3

Wenn eine Suchmaschinenspinne den 301-Statuscode im Antwortheader einer Webseite findet, versteht sie, dass diese Webseite nicht mehr existiert. Sie sucht nach dem Standortheader als Antwort, wählt die neue URL aus und ersetzt die indizierte URL durch die neue und überträgt auch den Pagerank .

Die Suchmaschine aktualisiert also alle indizierten URLs, die nicht mehr vorhanden sind (301 gefunden), mit der neuen URL. Dadurch bleibt Ihr alter Webseitenverkehr erhalten, der Pagerank wird auf die neue umgeleitet (Sie verlieren nicht den Verkehr der alten Webseite).

Browser: Wenn ein Browser den Statuscode 301 findet, speichert er die Zuordnung der alten URL zur neuen URL zwischen. Der Client / Browser versucht nicht, den ursprünglichen Speicherort anzufordern, sondern verwendet den neuen Speicherort von nun an, bis der Cache entfernt wird.

Wenn die Suchmaschinenspinne den Status 302 für eine Webseite findet, wird sie nur vorübergehend zum neuen Speicherort umgeleitet und beide Seiten gecrawlt. Die alte Webseiten-URL ist noch in der Suchmaschinendatenbank vorhanden und es wird immer versucht, den alten Speicherort anzufordern und ihn zu crawlen Der Client / Browser versucht weiterhin, den ursprünglichen Speicherort anzufordern.

Lesen Sie mehr darüber, wie Sie es in asp.net c # implementieren und wie sich dies auf Suchmaschinen auswirkt - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html

Rohit
quelle