Server. Transfer vs Response. Redirect
Server und Antwort sind Objekte in ASP. NET. Das Serverobjekt bietet Methoden und Eigenschaften für verschiedene Aufgaben, die sich auf einen Server beziehen. Die Übertragung ist eine Methode des Server-Objekts und sendet Informationen zum aktuellen Status zur Verarbeitung an eine andere ASP-Datei. Das Antwortobjekt beschreibt Methoden und Eigenschaften, die sich auf die Antwort eines Servers beziehen. Die Umleitung ist eine Methode des Antwortobjekts und sendet eine Nachricht an den Browser, um eine Verbindung zu einer anderen URL herzustellen. Obwohl sowohl Server. Transfer als auch Response. Redirect verwendet werden können, um einen Benutzer von einer Seite auf eine andere zu übertragen, unterscheiden sie sich darin, wie sie diese Aufgabe tatsächlich ausführen.
Was ist Response. Redirect?
Redirect ist eine Methode im Response-Objekt. Wenn die Antwortmethode aufgerufen wird, sendet sie den HTTP-Code 302 und die URL der angeforderten Webseite an den Browser des Benutzers. Der HTTP-Code 302 informiert den Browser des Benutzers darüber, dass sich die angeforderte Ressource unter einer anderen URL befindet. Wenn der Browser den Code empfängt, öffnet er die Ressource am neuen Speicherort. Die angeforderte Webseite kann sich auf demselben Server befinden wie die Seite, die die Anforderung enthielt, oder sie kann sich auf einem anderen Server befinden. Wenn Sie eine Webseite anfordern, die sich auf demselben Server wie die aktuelle Seite befindet, kann die Antwortmethode wie folgt verwendet werden:
Response. Redirect ("nextPage.html");
Wenn Sie eine Webseite anfordern, die sich auf einem anderen Server befindet, kann die Antwortmethode wie folgt verwendet werden:
Response. Redirect ("https://www.newServer.com/newPage.aspx");
Was ist Server. Transfer?
Wie bereits erwähnt, ist die Übertragung eine Methode des Serverobjekts. Wenn die Übertragungsmethode aufgerufen wird, wird die ursprüngliche Anforderung so geändert, dass sie auf eine andere Seite auf demselben Server übertragen wird. Wenn über Server. Transfer eine neue Seite angefordert wird, ändert sich die im Webbrowser des Benutzers angezeigte URL nicht. Dies liegt daran, dass die Übertragung auf der Serverseite erfolgt und der Browser keine Kenntnisse über die Übertragung hat. Durch Verwenden der zweiten Überladung für Server. Transfer (Zeichenfolgenpfad, boolerveForm) und Festlegen des zweiten Parameters als true können veröffentlichte Formularvariablen und Abfragezeichenfolgen auf der zweiten Seite verfügbar gemacht werden.
Was ist der Unterschied zwischen Server. Transfer und Response. Redirect?
Obwohl sowohl Server. Transfer als auch Response. Redirect verwendet werden können, um einen Benutzer von einer Seite auf eine andere zu übertragen, gibt es einige Unterschiede zwischen den beiden Methoden. Neben dem offensichtlichen syntaktischen Unterschied macht Response. Redirect einen Roundtrip zum Server, während Server. Transfer den Fokus des Webservers auf eine andere Webseite ändert. Daher können mithilfe von Server. Transfer Serverressourcen erhalten bleiben. Auf der anderen Seite kann Response. Redirect verwendet werden, um den Benutzer auf eine Webseite auf einem anderen Server umzuleiten, während Server. Transfer nur verwendet werden kann, um den Benutzer auf Webseiten auf demselben Server umzuleiten. Auch mit Server. Transfer kann die neue Seite auf die Eigenschaften der vorherigen Seite zugreifen, dies ist jedoch mit Response. Redirect nicht möglich. Zusätzlich Antwort. Die Umleitung ändert die URL in der Adressleiste des Browsers, wenn auf die neue Seite zugegriffen wird, aber wenn der Server verwendet wird. Die Übertragung der ursprünglichen URL bleibt erhalten und der Inhalt der Seite wird nur ersetzt. Der Benutzer kann es also nicht zum Lesezeichen der neuen Seite verwenden.