Gibt es eine Möglichkeit, dass ein Webserver eine Weiterleitung ausgibt, bei der der Browser keine zweite Anfrage stellen muss?Umleiten zu einer neuen URL, ohne dass der Browser eine zweite Anfrage stellt?
Zum Beispiel hat der Browser http://www.mysite.com/lion
angefordert, aber der Server möchte, dass der Browser den Standort in http://www.mysite.com/jungle
ändert. Der einzige Weg, wie ich das erreichen kann, ist, dass der Server einen 3xx
Statuscode mit der URL jungle
sendet und der Browser eine neue Anfrage zum Abrufen ausgibt.
Ist es möglich, dass der Server die Seite jungle
in Reaktion auf die Anfrage lion
liefert, und sagen Sie einfach dem Browser "Setzen Sie Ihre URL auf http://www.mysite.com/jungle
"?
Aber wird der Browser die URL in seiner Adressleiste ändern? –
Nein. Die URL ändert sich nur, wenn der Browser einen anderen URI anfordert, was nicht der Fall ist. Sie können nicht umleiten und nicht umleiten. Wenn Sie die URL ändern möchten (d. H. Sie möchten, dass der Client, sei es ein Browser oder ein Such-Crawler, den URI an einem anderen Ort kennt), sollten Sie den Redirect-Header und den entsprechenden Statuscode senden. Denken Sie daran, dass Sie bei einer Weiterleitung nur Kopfzeilen senden, bevor der Browser die zweite Anforderung stellt, die Daten schnell sind und keine Bandbreite verschwenden. –