Unterschied zwischen Server.Transfer und Response.Redirect

Unterschied zwischen Server.Transfer und Response.Redirect
Unterschied zwischen Server.Transfer und Response.Redirect

Video: Unterschied zwischen Server.Transfer und Response.Redirect

Video: Unterschied zwischen Server.Transfer und Response.Redirect
Video: Selbstständigkeit vs. Unternehmertum | So wirst du UNTERNEHMER! 2024, November
Anonim

Server. Transfer vs. Response. Redirect

Server und Response sind beide Objekte in ASP. NET. Das Serverobjekt stellt Methoden und Eigenschaften für verschiedene Aufgaben im Zusammenhang mit einem Server bereit. Transfer ist eine Methode des Server-Objekts und sendet Informationen über den aktuellen Status zur Verarbeitung an eine andere.asp-Datei. Das Response-Objekt beschreibt Methoden und Eigenschaften, die sich auf die Antwort eines Servers beziehen. Redirect ist eine Methode des Response-Objekts und sendet eine Nachricht an den Browser, wodurch dieser eine Verbindung zu einer anderen URL herstellt. 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 Response-Methode 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 könnte sich auf einem anderen Server befinden. Beim Anfordern einer Webseite, die sich auf demselben Server wie die aktuelle Seite befindet, kann die Antwortmethode wie folgt verwendet werden:

Response. Redirect(“nächsteSeite.html”);

Wenn eine Webseite angefordert wird, 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 Transfer eine Methode des Server-Objekts. Wenn die Transfer-Methode aufgerufen wird, wird die ursprüngliche Anforderung so geändert, dass sie auf eine andere Seite auf demselben Server übertragen wird. Wenn eine neue Seite mit dem Server. Transfer angefordert wird, ändert sich die im Webbrowser des Benutzers angezeigte URL nicht. Dies liegt daran, dass die Übertragung serverseitig erfolgt und der Browser keine Kenntnis von der Übertragung hat. Indem Sie die zweite Überladung für Server. Transfer(string path, bool replaceForm) verwenden und den zweiten Parameter auf „true“setzen, können bereitgestellte Formularvariablen und Abfragezeichenfolgen für die zweite 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 durch die Verwendung von Server. Transfer Serverressourcen geschont werden. Andererseits könnte 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 bei Verwendung von Server. Transfer kann von der neuen Seite auf Eigenschaften der vorherigen Seite zugegriffen werden, jedoch ist dies bei Response. Redirect nicht möglich. Zusätzlich ändert Response. Redirect beim Aufruf der neuen Seite die URL in der Adressleiste des Browsers, beim Server. Transfer bleibt die ursprüngliche URL erh alten und der Inh alt der Seite wird lediglich ersetzt. Der Benutzer kann es also nicht verwenden, um die neue Seite mit einem Lesezeichen zu versehen.

Empfohlen: