Poslužitelj. Prijenos vs. Odgovor. Preusmjeravanje
Poslužitelj i Odgovor su objekti u ASP. NET-u. Poslužiteljski objekt pruža metode i svojstva za razne zadatke koji se odnose na poslužitelj. Transfer je metoda objekta poslužitelja i šalje informacije o trenutnom stanju u drugu.asp datoteku na obradu. Objekt odgovora opisuje metode i svojstva koja se odnose na odgovor poslužitelja. Preusmjeravanje je metoda objekta Response i šalje poruku pregledniku čime se povezuje na drugi URL. Iako se i Server. Transfer i Response. Redirect mogu koristiti za prijenos korisnika s jedne stranice na drugu, razlikuju se u načinu na koji zapravo obavljaju ovaj zadatak.
Što je Response. Redirect?
Redirect je metoda u Response objektu. Kada se pozove metoda Response, ona šalje HTTP kod 302 i URL tražene web stranice pregledniku korisnika. HTTP kod 302 obavještava preglednik korisnika da se traženi resurs nalazi pod drugim URL-om. Kada preglednik primi kod, otvara resurs na novoj lokaciji. Tražena web stranica može se nalaziti na istom poslužitelju kao i stranica koja je sadržavala zahtjev ili se može nalaziti na nekom drugom poslužitelju. Kada zahtijevate web stranicu koja se nalazi na istom poslužitelju kao i trenutna stranica, metoda odgovora može se koristiti na sljedeći način:
Response. Redirect(“nextPage.html”);
Kada se traži web stranica koja se nalazi na drugom poslužitelju, metoda odgovora može se koristiti na sljedeći način:
Response. Redirect(“https://www.newServer.com/newPage.aspx”);
Što je Server. Transfer?
Kao što je ranije spomenuto, prijenos je metoda poslužiteljskog objekta. Kada se pozove metoda prijenosa, izvorni zahtjev se mijenja za prijenos na neku drugu stranicu na istom poslužitelju. Kada se pomoću Server. Transfera zatraži nova stranica, URL prikazan u web pregledniku korisnika se ne mijenja. To je zato što se prijenos događa na strani poslužitelja, a preglednik nema nikakvih saznanja o prijenosu. Korištenjem drugog preopterećenja za Server. Transfer(string path, bool SaveForm) i postavljanjem drugog parametra na true, objavljene varijable obrasca i nizovi upita mogu biti dostupni drugoj stranici.
Koja je razlika između Server. Transfer i Response. Redirect?
Iako se i Server. Transfer i Response. Redirect mogu koristiti za prijenos korisnika s jedne stranice na drugu, postoje neke razlike između te dvije metode. Osim očite sintaktičke razlike, Response. Redirect se vraća na poslužitelj, dok Server. Transfer mijenja fokus web poslužitelja na drugu web stranicu. Stoga se korištenjem Server. Transfera resursi poslužitelja mogu sačuvati. S druge strane Response. Redirect može se koristiti za preusmjeravanje korisnika na web stranicu na drugom poslužitelju, dok se Server. Transfer može koristiti samo za preusmjeravanje korisnika na web stranice na istom poslužitelju. Također korištenjem Server. Transfera, nova stranica može pristupiti svojstvima prethodne stranice, ali to nije moguće s Response. Redirect. Dodatno, Response. Redirect mijenja URL u adresnoj traci preglednika kada se pristupi novoj stranici, ali kada se koristi Server. Transfer originalni URL se zadržava, a sadržaj stranice se samo zamjenjuje. Stoga ga korisnik ne može koristiti za označavanje nove stranice.