Atšķirība starp serveri.Pārsūtīšana un atbilde.Novirzīšana

Atšķirība starp serveri.Pārsūtīšana un atbilde.Novirzīšana
Atšķirība starp serveri.Pārsūtīšana un atbilde.Novirzīšana

Video: Atšķirība starp serveri.Pārsūtīšana un atbilde.Novirzīšana

Video: Atšķirība starp serveri.Pārsūtīšana un atbilde.Novirzīšana
Video: Atšķirības starp BEZDARBNIEKU un DARBA MEKLĒTĀJU. Sarunā ar NVA direktora vietnieci Kristīni Stašāni 2024, Jūlijs
Anonim

Serveris. Pārsūtīšana pret atbildi. Novirzīšana

Serveris un atbilde ir ASP. NET objekti. Servera objekts nodrošina metodes un rekvizītus dažādiem ar serveri saistītiem uzdevumiem. Pārsūtīšana ir servera objekta metode, un tā nosūta informāciju par pašreizējo stāvokli uz citu.asp failu apstrādei. Atbildes objekts apraksta metodes un rekvizītus, kas saistīti ar servera atbildi. Novirzīšana ir atbildes objekta metode, un tā nosūta ziņojumu pārlūkprogrammai, liekot tai izveidot savienojumu ar citu URL. Pat ja gan Server. Transfer, gan Response. Redirect var izmantot, lai pārsūtītu lietotāju no vienas lapas uz citu, tie atšķiras ar to, kā tie faktiski veic šo uzdevumu.

Kas ir Response. Redirect?

Novirzīšana ir metode atbildes objektā. Kad tiek izsaukta atbildes metode, tā lietotāja pārlūkprogrammai nosūta HTTP kodu 302 un pieprasītās tīmekļa lapas URL. HTTP kods 302 informē lietotāju pārlūkprogrammu, ka pieprasītais resurss atrodas zem cita URL. Kad pārlūkprogramma saņem kodu, tā atver resursu jaunajā vietā. Pieprasītā tīmekļa lapa var atrasties tajā pašā serverī, kur lapa, kurā bija pieprasījums, vai arī tā var atrasties kādā citā serverī. Pieprasot tīmekļa lapu, kas atrodas tajā pašā serverī, kur pašreizējā lapa, atbildes metodi var izmantot šādi:

Response. Redirect(“nextPage.html”);

Pieprasot tīmekļa lapu, kas atrodas citā serverī, atbildes metodi var izmantot šādi:

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

Kas ir Server. Transfer?

Kā minēts iepriekš, pārsūtīšana ir servera objekta metode. Kad tiek izsaukta pārsūtīšanas metode, sākotnējais pieprasījums tiek modificēts, lai pārsūtītu uz kādu citu lapu tajā pašā serverī. Kad tiek pieprasīta jauna lapa, izmantojot Server. Transfer, lietotāja tīmekļa pārlūkprogrammā redzamais URL nemainās. Tas ir tāpēc, ka pārsūtīšana notiek servera pusē un pārlūkprogrammai nav nekādu zināšanu par pārsūtīšanu. Izmantojot otro pārslodzi Server. Transfer (virknes ceļš, būtības saglabāšanas forma) un otro parametru iestatot kā patiesu, publicētos formas mainīgos un vaicājumu virknes var padarīt pieejamus otrajai lapai.

Kāda ir atšķirība starp Server. Transfer un Response. Redirect?

Lai gan gan Server. Transfer, gan Response. Redirect var izmantot, lai pārsūtītu lietotāju no vienas lapas uz citu, starp abām metodēm ir dažas atšķirības. Papildus šķietamajai sintaktiskajai atšķirībai Response. Redirect veic turp un atpakaļ uz serveri, savukārt Server. Transfer maina tīmekļa servera fokusu uz citu tīmekļa lapu. Tāpēc, izmantojot Server. Transfer, servera resursus var saglabāt. No otras puses, Response. Redirect var izmantot, lai novirzītu lietotāju uz tīmekļa lapu citā serverī, savukārt Server. Transfer var izmantot tikai, lai novirzītu lietotāju uz tīmekļa lapām tajā pašā serverī. Arī izmantojot Server. Transfer, jaunā lapa var piekļūt iepriekšējās lapas rekvizītiem, bet tas nav iespējams ar Response. Redirect. Turklāt Response. Redirect maina URL pārlūkprogrammas adreses joslā, kad tiek atvērta jauna lapa, bet, kad tiek izmantots serveris. Pārsūtīšanas sākotnējais URL tiek saglabāts un lapas saturs ir tikko aizstāts. Tādējādi lietotājs nevar to izmantot, lai pievienotu grāmatzīmi jaunajai lapai.

Ieteicams: