Różnica Między Server.Transfer I Response.Redirect

Różnica Między Server.Transfer I Response.Redirect
Różnica Między Server.Transfer I Response.Redirect

Wideo: Różnica Między Server.Transfer I Response.Redirect

Wideo: Różnica Między Server.Transfer I Response.Redirect
Wideo: Server.Transfer vs Response.Redirect 2024, Listopad
Anonim

Server. Transfer vs Response. Redirect

Serwer i odpowiedź są obiektami w ASP. NET. Obiekt serwera udostępnia metody i właściwości dla różnych zadań związanych z serwerem. Transfer jest metodą obiektu serwera i wysyła informacje o aktualnym stanie do innego pliku.asp w celu przetworzenia. Obiekt odpowiedzi opisuje metody i właściwości związane z odpowiedzią serwera. Redirect jest metodą obiektu Response i wysyła komunikat do przeglądarki, łącząc się z innym adresem URL. Mimo że zarówno Server. Transfer, jak i Response. Redirect mogą służyć do przenoszenia użytkownika z jednej strony na drugą, różnią się one sposobem wykonywania tego zadania.

Co to jest Response. Redirect?

Redirect to metoda w obiekcie Response. Gdy wywoływana jest metoda Response, wysyła kod HTTP 302 i adres URL żądanej strony internetowej do przeglądarki użytkowników. Kod HTTP 302 informuje przeglądarkę użytkowników, że żądany zasób znajduje się pod innym adresem URL. Gdy przeglądarka otrzyma kod, otwiera zasób w nowej lokalizacji. Żądana strona internetowa może znajdować się na tym samym serwerze, co strona zawierająca żądanie lub może znajdować się na innym serwerze. W przypadku żądania strony internetowej znajdującej się na tym samym serwerze co bieżąca strona, można użyć metody Response w następujący sposób:

Response. Redirect („nextPage.html”);

W przypadku żądania strony internetowej znajdującej się na innym serwerze można użyć metody Response w następujący sposób:

Response. Redirect („https://www.newServer.com/newPage.aspx”);

Co to jest Server. Transfer?

Jak wspomniano wcześniej, Transfer jest metodą obiektu serwera. Gdy wywoływana jest metoda Transfer, pierwotne żądanie jest modyfikowane w celu przesłania na inną stronę na tym samym serwerze. W przypadku żądania nowej strony za pomocą usługi Server. Transfer, adres URL wyświetlany w przeglądarce internetowej użytkownika nie zmienia się. Dzieje się tak, ponieważ transfer odbywa się po stronie serwera, a przeglądarka nie ma żadnej wiedzy o transferze. Używając drugiego przeciążenia dla Server. Transfer (string path, bool preserveForm) i ustawiając drugi parametr na true, wysłane zmienne formularza i ciągi zapytań mogą być udostępniane na drugiej stronie.

Jaka jest różnica między Server. Transfer i Response. Redirect?

Mimo że zarówno Server. Transfer, jak i Response. Redirect mogą służyć do przenoszenia użytkownika z jednej strony na drugą, istnieją pewne różnice między tymi dwiema metodami. Poza pozorną różnicą składniową, Response. Redirect wykonuje podróż w obie strony do serwera, podczas gdy Server. Transfer zmienia punkt skupienia serwera WWW na inną stronę internetową. Dlatego przy użyciu Server. Transfer można zachować zasoby serwera. Z drugiej strony Response. Redirect może służyć do przekierowania użytkownika na stronę internetową na innym serwerze, podczas gdy Server. Transfer może służyć tylko do przekierowania użytkownika na strony internetowe na tym samym serwerze. Korzystając z Server. Transfer, nowa strona może uzyskać dostęp do właściwości poprzedniej strony, ale nie jest to możliwe w przypadku Response. Redirect. Dodatkowo Response. Przekierowanie zmienia adres URL w pasku adresu przeglądarki, gdy uzyskuje się dostęp do nowej strony, ale podczas korzystania z serwera. Przenieś oryginalny adres URL zostaje zachowany, a zawartość strony jest po prostu zastępowana. Dlatego użytkownik nie może go użyć do dodania zakładek do nowej strony.

Zalecane: