In einem Artikel, den ich einmal gelesen habe, heißt es, dass es bedeutet, zu springen (von einer URI zur anderen), aber ich habe diese "302" entdeckt, selbst wenn es überhaupt kein Springen gab!
In einem Artikel, den ich einmal gelesen habe, heißt es, dass es bedeutet, zu springen (von einer URI zur anderen), aber ich habe diese "302" entdeckt, selbst wenn es überhaupt kein Springen gab!
Antworten:
Eine 302-Umleitung bedeutet, dass die Seite vorübergehend verschoben wurde, während eine 301 bedeutet, dass sie dauerhaft verschoben wurde.
301s sind gut für den SEO-Wert, 302s nicht, weil 301s Kunden anweisen, den Wert der ursprünglichen URL zu vergessen, während 302s den Wert des Originals beibehalten und somit den Wert möglicherweise reduzieren können, indem zwei logisch unterschiedliche URLs erstellt werden Jeder produziert den gleichen Inhalt (Suchmaschinen betrachten sie als unterschiedliche Duplikate und nicht als einzelne Ressource mit zwei Namen).
Diese Frage wurde vor langer Zeit gestellt, als der RFC 2616 noch herumhing. Einige Antworten auf diese Frage basieren auf einem solchen Dokument, das heutzutage nicht mehr relevant ist. Zitat von Mark Nottingham , der zum Zeitpunkt des Schreibens den Vorsitz der IETF-Arbeitsgruppen HTTP und QUIC innehat:
Verwenden Sie nicht RFC2616 . Löschen Sie es von Ihren Festplatten, Lesezeichen und brennen Sie alle ausgedruckten Kopien (oder recyceln Sie sie verantwortungsvoll).
Der alte RFC 2616 wurde durch die folgenden Dokumente ersetzt, die zusammen das HTTP / 1.1-Protokoll definieren:
Daher möchte ich eine Antwort basierend auf dem RFC 7231 geben, der die aktuelle Referenz für HTTP / 1.1-Statuscodes ist.
302
StatuscodeEine Antwort mit 302
ist eine übliche Methode zur Durchführung einer URL-Umleitung. Zusammen mit dem 302
Statuscode sollte die Antwort einen Location
Header mit einem anderen URI enthalten. Ein solcher Header wird vom Benutzeragenten analysiert und führt dann die Umleitung durch:
Webbrowser können sich in der nachfolgenden Anforderung von POST
bis ändern GET
. Wenn dieses Verhalten unerwünscht ist, 307
kann stattdessen der Statuscode (Temporäre Umleitung) verwendet werden.
So wird der 302
Statuscode im RFC 7231 definiert :
Der
302
Statuscode (Gefunden) gibt an, dass sich die Zielressource vorübergehend unter einem anderen URI befindet. Da die Umleitung gelegentlich geändert werden kann, sollte der Client den effektiven Anforderungs-URI weiterhin für zukünftige Anforderungen verwenden.Der Server sollte ein
Location
Header-Feld in der Antwort generieren, das eine URI-Referenz für die verschiedenen URI enthält. Der Benutzeragent KANN den FeldwertLocation
für die automatische Umleitung verwenden. Die Antwortnutzlast des Servers enthält normalerweise eine kurze Hypertextnotiz mit einem Hyperlink zu den verschiedenen URIs.Hinweis: Aus historischen Gründen kann ein Benutzeragent die Anforderungsmethode für die nachfolgende Anforderung von
POST
auf ändernGET
. Wenn dieses Verhalten unerwünscht ist,307
kann stattdessen der Statuscode (Temporäre Umleitung) verwendet werden.
Laut MDN-Webdokumenten von Mozilla ist ein typischer Anwendungsfall für 302
:
Die Webseite ist aus unvorhergesehenen Gründen vorübergehend nicht verfügbar. Auf diese Weise aktualisieren Suchmaschinen ihre Links nicht.
Der RFC 7231 definiert die folgenden Statuscodes für die Umleitung:
Der RFC 7238 wurde erstellt, um einen anderen Statuscode für die Umleitung zu definieren:
308
(Permanente Weiterleitung)Weitere Einzelheiten finden Sie in dieser Antwort .
Location
Header war das, was mir geholfen hat). Es stellte sich heraus, dass ich einen Dienst anrief http
und sie zogen zu https
. Alles, was ich als Antwort erhielt 302
, war , als ich hier die Location
Kopfzeile las , sah ich den http/https
Unterschied. Danke dir!
Eine einfache Sichtweise auf HTTP 301 vs. 302-Weiterleitungen ist:
Angenommen, Sie haben ein Lesezeichen für " http://sample.com/sample ". Sie verwenden einen Browser, um dorthin zu gelangen.
Eine 302-Umleitung zu einer anderen URL an dieser Stelle würde bedeuten, dass Sie Ihr Lesezeichen auf " http://sample.com/sample " belassen sollten . Dies liegt daran, dass sich die Ziel-URL in Zukunft möglicherweise ändert.
Eine 301-Umleitung zu einer anderen URL würde bedeuten, dass sich Ihr Lesezeichen so ändern sollte, dass es auf die neue URL verweist, da es sich um eine permanente Umleitung handelt.
Aus RFC 2616 (der Hypertext Transfer Protocol-Spezifikation) :
10.3.3 302 Gefunden Die angeforderte Ressource befindet sich vorübergehend unter einem anderen URI. Da die Umleitung gelegentlich geändert werden kann, SOLLTE der Client Verwenden Sie den Request-URI weiterhin für zukünftige Anforderungen. Diese Antwort kann nur zwischengespeichert werden, wenn dies durch einen Cache-Control- oder Expires-Header angezeigt wird Feld. Die temporäre URI sollte durch das Feld Standort in der angegeben werden Antwort. Sofern die Anforderungsmethode nicht HEAD war, ist die Entität der Antwort SOLLTE eine kurze Hypertext-Notiz mit einem Hyperlink zu enthalten die neuen URI (s).
Quelle:
Aus Wikipedia :
Der HTTP-Antwortstatuscode 302 Found ist die häufigste Methode zum Durchführen einer Umleitung. Es ist ein Beispiel für eine industrielle Praxis, die dem Standard widerspricht.
Gemäß den http-Statuscode-Definitionen zeigt ein 302 eine (vorübergehende) Umleitung an. "Die angeforderte Ressource befindet sich vorübergehend unter einem anderen URI."
302 ist eine Antwort, die eine Änderung des Ressourcenorts anzeigt - "Gefunden".
Die URL, unter der sich die Ressource jetzt befinden sollte, sollte sich im Header der Antwort "Standort" befinden.
Der "Sprung" sollte vom anfordernden Client ausgeführt werden (stellen Sie eine neue Anforderung an die Ressourcen-URL im Feld "Header der Antwortposition").
In Bezug auf SEO sind 301 und 302 beide gut, es hängt von der Situation ab,
Wenn nur eine Version zurückgegeben werden kann (dh die andere leitet darauf um), ist das großartig! Dieses Verhalten ist vorteilhaft, da es doppelte Inhalte reduziert. Im speziellen Fall von Weiterleitungen zu nachgestellten Schrägstrich-URLs wird in unseren Suchergebnissen wahrscheinlich die Version der URL mit dem 200-Antwortcode (meistens die nachfolgende Schrägstrich-URL) angezeigt - unabhängig davon, ob die Weiterleitung 301 oder 302 war.
Der HTTP-Code 302 dient zur Umleitung unter http://en.wikipedia.org/wiki/HTTP_302 .
Es weist das Durchsuchen einer Seite an, woanders hinzugehen und eine andere Seite zu laden. Seine Verwendung ist sehr verbreitet.
Gemäß RFC 1945 / Hypertext Transfer Protocol - HTTP / 1.0 :
302 Moved Temporarily
The requested resource resides temporarily under a different URL.
Since the redirection may be altered on occasion, the client should
continue to use the Request-URI for future requests.
The URL must be given by the Location field in the response. Unless
it was a HEAD request, the Entity-Body of the response should
contain a short note with a hyperlink to the new URI(s).
If the 302 status code is received in response to a request using
the POST method, the user agent must not automatically redirect the
request unless it can be confirmed by the user, since this might
change the conditions under which the request was issued.
Note: When automatically redirecting a POST request after
receiving a 302 status code, some existing user agents will
erroneously change it into a GET request.
BEISPIEL: - Obwohl es nicht sehr häufig vorkommt, dass wir eine 302-Umleitung benötigen, kann diese Option in einigen Fällen sehr nützlich sein. Dies sind die häufigsten Fälle:
Eine Weiterleitung 302 ist ein Code, der Besuchern einer bestimmten URL mitteilt, dass die Seite vorübergehend verschoben wurde, und sie direkt an den neuen Speicherort weiterleitet.
Mit anderen Worten, die Umleitung 302 wird aktiviert, wenn Google-Roboter oder andere Suchmaschinen das Laden einer bestimmten Seite anfordern. In diesem Moment gibt der Server dank dieser Umleitung eine automatische Antwort zurück, die eine neue URL angibt.
Auf diese Weise werden Fehler und Belästigungen sowohl für Suchmaschinen als auch für Benutzer vermieden und eine reibungslose Navigation gewährleistet.
Weitere Einzelheiten finden Sie in diesem Artikel .
Ein 302-Statuscode ist ein HTTP-Antwortstatuscode, der angibt, dass die angeforderte Ressource vorübergehend in einen anderen URI verschoben wurde. Da der Standort oder die aktuelle Umleitungsanweisung möglicherweise in Zukunft geändert wird, sollte ein Client, der einen 302 Found-Antwortcode erhält, weiterhin den ursprünglichen URI für zukünftige Anforderungen verwenden.
Eine HTTP-Antwort mit diesem Statuscode liefert zusätzlich eine URL im Headerfeld Location. Dies ist eine Einladung an den Benutzeragenten (z. B. einen Webbrowser), eine zweite, ansonsten identische Anfrage an die im Standortfeld angegebene neue URL zu stellen. Das Endergebnis ist eine Umleitung zur neuen URL.
Für alle, die neugierig auf die Benennung sind, möchte ich nur hinzufügen, dass sie wahrscheinlich "Gefunden" heißt, da die Hauptressource (z. B. eine private Webseite), die der Benutzer erhalten möchte, derzeit nicht verfügbar ist (z. der Benutzer ihre Identität noch) nicht bewiesen, so dass anstelle der Server gefunden eine neue Ressource, die der Benutzer empfangen kann (die eine Login - Seite in dem häufigste Anwendungsfall ist).
Außerdem geht es beim Verstecken "verloren und gefunden", was bedeutet, dass eine verlorene Ressource unter dem Status 302 nur vorübergehend verloren geht und nicht für immer verloren gehen soll (es sei denn, ein Spieler hat schlechte Absichten;)).