Perbedaan Antara Server.Transfer dan Response.Redirect

Server.Transfer vs Response.Redirect

Server dan Respons keduanya objek di ASP.NET. Objek server menyediakan metode dan properti untuk berbagai tugas yang terkait dengan server. Transfer adalah metode objek Server dan mengirimkan informasi dari status saat ini ke file .asp lainnya untuk diproses. Objek respons menjelaskan metode dan properti yang terkait dengan respons server. Redirect adalah metode objek Respons dan mengirimkan pesan ke browser sehingga terhubung ke URL yang berbeda. Meskipun Server.Transfer dan Response.Redirect dapat digunakan untuk mentransfer pengguna dari satu halaman ke halaman lain, mereka berbeda dalam cara mereka benar-benar melakukan tugas ini..

Apa itu Response.Redirect?

Redirect adalah metode di objek Respons. Ketika metode Respons dipanggil, ia mengirim kode HTTP 302 dan URL halaman web yang diminta ke browser pengguna. Kode HTTP 302 menginformasikan browser pengguna bahwa sumber daya yang diminta terletak di bawah URL yang berbeda. Ketika browser menerima kode, itu membuka sumber daya di lokasi baru. Halaman web yang diminta dapat berada di server yang sama dengan halaman yang berisi permintaan atau bisa juga berada di server lain. Saat meminta halaman web yang berada di server yang sama dengan halaman saat ini, metode Respons dapat digunakan sebagai berikut:

Response.Redirect ("nextPage.html");

Saat meminta halaman web yang berada di server lain, metode Respons dapat digunakan sebagai berikut:

Response.Redirect ("http://www.newServer.com/newPage.aspx");

Apa itu Server.Transfer?

Seperti yang disebutkan sebelumnya, Transfer adalah metode Obyek Server. Ketika metode Transfer dipanggil, permintaan awal diubah untuk mentransfer ke beberapa halaman lain di server yang sama. Ketika halaman baru diminta menggunakan Server.Transfer, URL yang ditampilkan di browser web pengguna tidak berubah. Ini karena transfer terjadi di sisi server dan browser tidak memiliki pengetahuan tentang transfer. Dengan menggunakan overload kedua untuk Server.Transfer (jalur string, bool preserveForm) dan mengatur parameter kedua sebagai true, variabel formulir yang diposting dan string kueri dapat dibuat tersedia untuk halaman kedua.

Apa perbedaan antara Server.Transfer dan Response.Redirect?

Meskipun Server.Transfer dan Response.Redirect dapat digunakan untuk mentransfer pengguna dari satu halaman ke halaman lainnya, ada beberapa perbedaan antara kedua metode tersebut. Selain perbedaan sintaksis yang terlihat, Response.Redirect melakukan perjalanan ulang ke server, sementara Server.Transfer mengubah fokus server web ke halaman web yang berbeda. Oleh karena itu, dengan menggunakan Server.Transfer, sumber daya server dapat dipertahankan. Di sisi lain Response.Redirect dapat digunakan untuk mengarahkan ulang pengguna ke halaman web di server lain sedangkan Server.Transfer hanya dapat digunakan untuk mengarahkan pengguna ke halaman web di server yang sama. Juga dengan menggunakan Server.Transfer, properti dari halaman sebelumnya dapat diakses oleh halaman baru tetapi ini tidak mungkin dengan Response.Redirect. Selain itu, Response.Redirect mengubah URL di bilah alamat browser ketika halaman baru diakses tetapi ketika menggunakan Server. Transfer URL asli dipertahankan dan konten halaman baru saja diganti. Jadi pengguna tidak dapat menggunakannya untuk mem-bookmark halaman baru.