HTTP-Statuscode: 301, 302 Weiterleitung

WBOY
Freigeben: 2016-09-27 14:05:19
Original
1707 Leute haben es durchsucht

Konzept

301 Permanent verschoben Die angeforderte Ressource wurde dauerhaft an einen neuen Speicherort verschoben und alle zukünftigen Verweise auf diese Ressource sollten einen von mehreren in dieser Antwort zurückgegebenen URIs verwenden. Wenn möglich, sollten Clients mit Linkbearbeitungsfunktionen die angeforderte Adresse automatisch in die vom Server zurückgegebene Adresse ändern. Sofern nicht anders angegeben, ist diese Antwort auch zwischenspeicherbar. Der neue permanente URI sollte im Feld „Location“ der Antwort zurückgegeben werden. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwortentität einen Hyperlink zum neuen URI und eine kurze Beschreibung enthalten. Wenn es sich nicht um eine GET- oder HEAD-Anfrage handelt, verbietet der Browser die automatische Weiterleitung, sofern dies nicht vom Benutzer bestätigt wird, da sich die Bedingungen der Anfrage entsprechend ändern können. Hinweis: Bei einigen Browsern, die das HTTP/1.0-Protokoll verwenden, wird die nachfolgende Umleitungsanforderung zu einer GET-Methode, wenn die von ihnen gesendete POST-Anfrage eine 301-Antwort erhält.

302 gefunden Die angeforderte Ressource reagiert jetzt vorübergehend auf Anfragen von einem anderen URI. Da solche Weiterleitungen temporär sind, sollte der Client künftige Anfragen weiterhin an die ursprüngliche Adresse senden. Diese Antwort kann nur zwischengespeichert werden, wenn sie in „Cache-Control“ oder „Expires“ angegeben wird. Der neue temporäre URI sollte im Feld „Standort“ der Antwort zurückgegeben werden. Sofern es sich nicht um eine HEAD-Anfrage handelt, sollte die Antwortentität einen Hyperlink zum neuen URI und eine kurze Beschreibung enthalten. Wenn es sich nicht um eine GET- oder HEAD-Anfrage handelt, verhindert der Browser die automatische Umleitung, sofern dies nicht vom Benutzer bestätigt wird, da sich die Bedingungen der Anfrage entsprechend ändern können. Hinweis: Obwohl die Spezifikationen RFC 1945 und RFC 2068 es dem Client nicht erlauben, die Anforderungsmethode bei der Umleitung zu ändern, betrachten viele bestehende Browser die 302-Antwort als 303-Antwort und verwenden unabhängig davon die GET-Methode, um auf den im Standort angegebenen URI zuzugreifen of Die Methode der ursprünglichen Anfrage. Die Statuscodes 303 und 307 wurden hinzugefügt, um zu verdeutlichen, welche Antwort der Server vom Client erwartet.

Dies ist ein Konzept, das ich von Wikipedia übernommen habe. Nachdem Sie es gelesen haben, können Sie es immer noch grob verstehen. 301 bedeutet, dass die Ressource, auf die zugegriffen wird, dauerhaft gelöscht wurde und der Client gemäß dem neuen URI umgeleitet werden muss. 302 bedeutet, dass auf die Ressource, auf die zugegriffen wird, vorübergehend über den URI des Standorts zugegriffen werden kann, die alte Ressource jedoch weiterhin vorhanden ist Bei Ihrem nächsten Besuch müssen Sie möglicherweise nicht umleiten.

Häufige Anwendungsszenarien

  • Szenario 1: Ich möchte den Domänennamen ändern und der alte Domänenname wird nicht mehr benötigt. Wenn Benutzer auf den alten Domänennamen zugreifen, werden sie mit 301 auf den neuen Domänennamen umgeleitet. Tatsächlich teilt es der Suchmaschine auch mit, dass der enthaltene Domänenname den neuen Domänennamen enthalten muss.

  • Szenario 2: Weiterleitung zur angegebenen Seite nach der Anmeldung. Dieses Szenario tritt häufiger auf, wenn die Anmeldung erfolgreich ist und zu einer bestimmten Systemseite gesprungen wird.

  • Szenario 3 Manchmal ist es notwendig, die Seite automatisch zu aktualisieren, z. B. nach 5 Sekunden zur Seite mit den Bestelldetails zurückzukehren.

  • Szenario 4 Manchmal muss die Adresse vorübergehend geändert werden, wenn das System aktualisiert oder bestimmte Funktionen geändert werden.

  • Szenario 5: Kurze Domainnamen werden wie bei Weibo verwendet und Benutzer müssen nach dem Surfen an die echte Adresse weitergeleitet werden.

Code-Demo

<code class="hljs"><span class="hljs-keyword">public <span class="hljs-function"><span class="hljs-keyword">void <span class="hljs-title">doGet<span class="hljs-params">(HttpServletRequest request, HttpServletResponse response)  
        <span class="hljs-keyword">throws ServletException, IOException {  
    <span class="hljs-comment">//请求重定向的例子  
    response.setStatus(<span class="hljs-number">301); 
    response.setHeader(<span class="hljs-string">"Location", <span class="hljs-string">"http://127.0.0.1/login.htm");
}</span></span></span></span></span></span></span></span></span></span></code>
Nach dem Login kopieren

Nachdem der Benutzer die Seite besucht, leitet der Browser zu http://127.0.0.1/login.htm weiter

Was Sie bei der Wahl zwischen 301 und 302 beachten sollten

302-Umleitung und URL-Hijacking (URL-Hijacking) Bei einer 302-Umleitung von URL A zu URL B bedeutet die implizite Bedeutung des Host-Servers, dass URL A jederzeit seine Meinung ändern, seinen eigenen Inhalt erneut anzeigen oder weiterleiten kann andere URLs. In den meisten Fällen müssen die meisten Suchmaschinen beim Empfang einer 302-Weiterleitung nur die Ziel-URL crawlen, also URL B. Wenn die Suchmaschine bei einer 302-Weiterleitung 100 % der Ziel-URL B crawlt, besteht kein Grund zur Sorge vor URL-Hijacking. Das Problem besteht darin, dass Suchmaschinen, insbesondere Google, manchmal nicht immer die Ziel-URL crawlen. Beispielsweise ist URL A manchmal sehr kurz, führt jedoch eine 302-Weiterleitung zu URL B durch, und URL B ist eine lange, unübersichtliche URL, die möglicherweise sogar einige Parameter wie Fragezeichen enthält. Natürlich ist URL A benutzerfreundlicher, während URL B hässlich und nicht benutzerfreundlich ist. Zu diesem Zeitpunkt wird Google höchstwahrscheinlich weiterhin URL A anzeigen. Da der Suchmaschinen-Ranking-Algorithmus nur ein Programm und keine Person ist, kann er bei einer 302-Weiterleitung nicht genau bestimmen, welche URL besser geeignet ist als ein Mensch, was die Möglichkeit eines URL-Hijackings mit sich bringt. Mit anderen Worten, eine skrupellose Person führt eine 302-Weiterleitung von ihrer eigenen Website A auf Ihre Website B durch. Aus irgendeinem Grund wird in den Google-Suchergebnissen immer noch Website A angezeigt, aber der Inhalt der verwendeten Webseite ist Der Inhalt Ihrer Website B, Diese Situation wird als Website-URL-Hijacking bezeichnet. Der Inhalt, an dessen Erstellung Sie so hart gearbeitet haben, wurde von jemand anderem gestohlen. URL-Hijacking durch 302-Weiterleitungen gibt es schon seit einiger Zeit. Doch bisher scheint es keine bessere Lösung zu geben. Das 302-Redirect-Problem ist auch eines der Ziele, die bei der laufenden Umstellung des Google Big Daddy-Rechenzentrums angegangen werden müssen. Einigen Suchergebnissen zufolge hat sich das Phänomen des URL-Hijacking zwar verbessert, ist jedoch noch nicht vollständig gelöst.

Die allgemeine Bedeutung ist, dass es zu Suchmaschinenrankings kommt und 302-Weiterleitungen von Suchmaschinen leicht mit der Verwendung mehrerer Domainnamen verwechselt werden können, um auf dieselbe Website zu verweisen, und Ihre Website blockiert wird.

Das heißt, es sei denn, es handelt sich wirklich um eine vorübergehende Weiterleitung mit 302, in anderen Fällen ist es am besten, 301 zu verwenden

Referenzmaterialien

HTTP-Statuscode https://zh.wikipedia.org/wiki/HTTP-Statuscode

Detaillierte Erklärung und Unterschied zwischen den http-Statuscodes 301 und 302 – eine bittere Entdeckungsreise http://blog.csdn.net/grandpang/article/details/47448395

302 Weiterleitung http://baike.baidu.com/view/2453504.htm

Hinweis: Dieser Artikel ist ein Original und darf gerne nachgedruckt werden. Bitte geben Sie an prominenter Stelle auf der Artikelseite einen Link zu diesem Artikel an!
Wenn Sie diesen Artikel gut finden, klicken Sie bitte auf die Empfehlung in der unteren rechten Ecke, vielen Dank!
http://www.cnblogs.com/5207
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!