Różnica między Server.Transfer a Response.Redirect

Różnica między Server.Transfer a Response.Redirect
Różnica między Server.Transfer a Response.Redirect

Wideo: Różnica między Server.Transfer a Response.Redirect

Wideo: Różnica między Server.Transfer a Response.Redirect
Wideo: 1. Ekonomia jako dziedzina życia | Wolna przedsiębiorczość - dr Mateusz Machaj 2024, Lipiec
Anonim

Server. Transfer a Response. Redirect

Server i Response oba 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 bieżącym stanie do innego pliku.asp w celu przetworzenia. Obiekt odpowiedzi opisuje metody i właściwości związane z odpowiedzią serwera. Redirect to metoda obiektu Response, która wysyła komunikat do przeglądarki, dzięki czemu łączy się z innym adresem URL. Mimo że zarówno Server. Transfer, jak i Response. Redirect mogą być używane do przenoszenia użytkownika z jednej strony na drugą, różnią się sposobem, w jaki faktycznie wykonują to zadanie.

Co to jest Response. Redirect?

Przekierowanie 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żytkownika. Kod HTTP 302 informuje przeglądarkę użytkownika, ż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. Podczas żądania strony internetowej znajdującej się na tym samym serwerze co bieżąca strona, metoda odpowiedzi może być użyta w następujący sposób:

Response. Redirect(“nextPage.html”);

W przypadku żądania strony internetowej znajdującej się na innym serwerze, metoda odpowiedzi może być użyta w następujący sposób:

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

Co to jest transfer serwera?

Jak wspomniano wcześniej, Transfer jest metodą obiektu serwera. Po wywołaniu metody Transfer oryginalne żądanie jest modyfikowane w celu przeniesienia na inną stronę na tym samym serwerze. Gdy żądana jest nowa strona za pomocą Server. Transfer, adres URL wyświetlany w przeglądarce internetowej użytkownika nie ulega zmianie. Dzieje się tak dlatego, że 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 jako true, ogłaszane zmienne formularza i ciągi zapytań mogą być dostępne dla drugiej strony.

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

Mimo że zarówno Server. Transfer, jak i Response. Redirect mogą być używane do przenoszenia użytkownika z jednej strony na drugą, istnieją pewne różnice między tymi dwiema metodami. Poza widoczną różnicą składniową, Response. Redirect wykonuje podróż w obie strony do serwera, podczas gdy Server. Transfer zmienia fokus serwera WWW na inną stronę internetową. Dlatego przy użyciu Server. Transfer można zachować zasoby serwera. Z drugiej strony Response. Redirect może być używany do przekierowywania użytkownika na stronę internetową na innym serwerze, podczas gdy Server. Transfer może być używany tylko do przekierowywania użytkownika na strony internetowe na tym samym serwerze. Również za pomocą Server. Transfer właściwości poprzedniej strony mogą być dostępne przez nową stronę, ale nie jest to możliwe w przypadku Response. Redirect. Ponadto Response. Redirect zmienia adres URL w pasku adresu przeglądarki podczas uzyskiwania dostępu do nowej strony, ale podczas korzystania z serwera Server. Transfer oryginalny adres URL jest zachowywany, a zawartość strony jest po prostu zastępowana. Dlatego użytkownik nie może go użyć do dodania zakładek do nowej strony.

Zalecana: