Разлика между Server.Transfer и Response.Redirect

Разлика между Server.Transfer и Response.Redirect
Разлика между Server.Transfer и Response.Redirect

Видео: Разлика между Server.Transfer и Response.Redirect

Видео: Разлика между Server.Transfer и Response.Redirect
Видео: Server.Transfer против Response.Redirect 2024, Ноември
Anonim

Server. Transfer срещу Response. Redirect

И сървърът, и отговорът са обекти в ASP. NET. Сървърният обект предоставя методи и свойства за различни задачи, свързани със сървър. Прехвърлянето е метод на обекта на сървъра и той изпраща информация за текущото състояние в друг.asp файл за обработка. Обектът за отговор описва методи и свойства, свързани с отговора на сървъра. Пренасочването е метод на обекта Response и той изпраща съобщение до браузъра, което го кара да се свърже с различен URL адрес. Въпреки че и Server. Transfer, и Response. Redirect могат да се използват за прехвърляне на потребител от една страница на друга, те се различават по начина, по който всъщност изпълняват тази задача.

Какво е Response. Redirect?

Пренасочването е метод в обекта Response. Когато се извика методът Response, той изпраща HTTP кода 302 и URL адреса на заявената уеб страница към браузъра на потребителите. HTTP кодът 302 информира браузъра на потребителите, че заявеният ресурс се намира под различен URL адрес. Когато браузърът получи кода, той отваря ресурса на новото място. Заявената уеб страница може да се намира на същия сървър като страницата, съдържаща заявката, или може да се намира на друг сървър. Когато се изисква уеб страница, която се намира на същия сървър като текущата страница, методът на отговор може да се използва, както следва:

Response. Redirect (“nextPage.html”);

Когато се изисква уеб страница, която се намира на друг сървър, методът на отговор може да се използва, както следва:

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

Какво е Server. Transfer?

Както споменахме по-рано, Transfer е метод на Server Object. Когато се извика методът за прехвърляне, оригиналната заявка се модифицира, за да се прехвърли към друга страница на същия сървър. Когато се изиска нова страница с помощта на Server. Transfer, URL адресът, показан в уеб браузъра на потребителите, не се променя. Това е така, защото прехвърлянето се извършва от страна на сървъра и браузърът няма никакви познания за прехвърлянето. Чрез използването на второто претоварване за Server. Transfer (низ на пътя, boolserveForm) и задаване на втория параметър като истина, публикуваните променливи на формуляри и низове на заявки могат да бъдат предоставени на втората страница.

Каква е разликата между Server. Transfer и Response. Redirect?

Въпреки че и Server. Transfer, и Response. Redirect могат да се използват за прехвърляне на потребител от една страница на друга, има някои разлики между двата метода. Освен очевидната синтактична разлика, Response. Redirect прави обратно пътуване до сървъра, докато Server. Transfer променя фокуса на уеб сървъра на различна уеб страница. Следователно, като използвате Server. Transfer, сървърните ресурси могат да бъдат запазени. От друга страна, Response. Redirect може да се използва за пренасочване на потребителя към уеб страница на друг сървър, докато Server. Transfer може да се използва само за пренасочване на потребителя към уеб страници на същия сървър. Също така с помощта на Server. Transfer, свойствата на предишната страница могат да бъдат достъпни от новата страница, но това не е възможно с Response. Redirect. Освен това, отговор. Пренасочването променя URL адреса в адресната лента на браузъра при достъп до новата страница, но при използване на сървъра. Прехвърлянето на оригиналния URL адрес се запазва и съдържанието на страницата просто се заменя. Така потребителят не може да го използва, за да маркира новата страница.

Препоръчано: