Rozdíl Mezi Server.Transfer A Response.Redirect

Rozdíl Mezi Server.Transfer A Response.Redirect
Rozdíl Mezi Server.Transfer A Response.Redirect

Video: Rozdíl Mezi Server.Transfer A Response.Redirect

Video: Rozdíl Mezi Server.Transfer A Response.Redirect
Video: Server.Transfer против Response.Redirect 2024, Smět
Anonim

Server. Transfer vs Response. Redirect

Server i Response jsou objekty v ASP. NET. Objekt serveru poskytuje metody a vlastnosti pro různé úlohy související se serverem. Přenos je metoda objektu serveru a odesílá informace o aktuálním stavu do jiného souboru.asp ke zpracování. Objekt odpovědi popisuje metody a vlastnosti související s odpovědí serveru. Přesměrování je metoda objektu Response a odesílá zprávu do prohlížeče, který jej připojuje k jiné adrese URL. Přestože lze k přenosu uživatele z jedné stránky na druhou použít Server. Transfer i Response. Redirect, liší se ve způsobu, jakým tento úkol skutečně provádějí.

Co je Response. Redirect?

Redirect je metoda v objektu Response. Když je volána metoda Response, odešle HTTP kód 302 a URL požadované webové stránky do prohlížeče uživatelů. Kód HTTP 302 informuje prohlížeč uživatelů, že požadovaný zdroj je umístěn pod jinou adresou URL. Když prohlížeč obdrží kód, otevře zdroj v novém umístění. Požadovaná webová stránka může být umístěna na stejném serveru jako stránka, která obsahovala požadavek, nebo může být umístěna na nějakém jiném serveru. Při žádosti o webovou stránku umístěnou na stejném serveru jako aktuální stránka lze použít metodu odpovědi následujícím způsobem:

Response. Redirect („nextPage.html“);

Při žádosti o webovou stránku umístěnou na jiném serveru lze použít metodu odpovědi následujícím způsobem:

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

Co je Server. Transfer?

Jak již bylo zmíněno dříve, Transfer je metoda objektu serveru. Při volání metody Transfer je původní požadavek upraven tak, aby se přenesl na nějakou jinou stránku na stejném serveru. Když je pomocí Server. Transfer požadována nová stránka, URL zobrazená ve webovém prohlížeči uživatelů se nezmění. Důvodem je, že k přenosu dochází na straně serveru a prohlížeč nemá o přenosu žádné znalosti. Použitím druhého přetížení pro Server. Transfer (cesta řetězce, bool preserveForm) a nastavením druhého parametru na true lze na druhé stránce zpřístupnit zveřejněné proměnné formuláře a řetězce dotazu.

Jaký je rozdíl mezi Server. Transfer a Response. Redirect?

Přestože lze k přenosu uživatele z jedné stránky na druhou použít Server. Transfer i Response. Redirect, mezi těmito dvěma metodami existují určité rozdíly. Kromě zjevného syntaktického rozdílu provádí Response. Redirect zpáteční cestu k serveru, zatímco Server. Transfer změní zaměření webového serveru na jinou webovou stránku. Proto pomocí Server. Transfer lze zachovat prostředky serveru. Na druhou stranu Response. Redirect lze použít k přesměrování uživatele na webovou stránku na jiném serveru, zatímco Server. Transfer lze použít pouze k přesměrování uživatele na webové stránky na stejném serveru. Také pomocí Server. Transfer lze k vlastnostem předchozí stránky přistupovat na nové stránce, ale u Response. Redirect to není možné. Navíc odpověď. Redirect změní adresu URL v adresním řádku prohlížeče při přístupu na novou stránku, ale při použití serveru. Přenos původní adresy URL se zachová a obsah stránky se pouze nahradí. Uživatel ji tedy nemůže použít k uložení záložek na novou stránku.

Doporučená: