ความแตกต่างระหว่าง Server.Transfer และ Response.Redirect

ความแตกต่างระหว่าง Server.Transfer และ Response.Redirect
ความแตกต่างระหว่าง Server.Transfer และ Response.Redirect

วีดีโอ: ความแตกต่างระหว่าง Server.Transfer และ Response.Redirect

วีดีโอ: ความแตกต่างระหว่าง Server.Transfer และ Response.Redirect
วีดีโอ: สอนบัญชีภาษีผู้ประกอบการ ทำธุรกิจในนามบริษัทกับบุคคลแบบไหนดีกว่ากัน 2024, พฤศจิกายน
Anonim

เซิร์ฟเวอร์.โอน vs.เปลี่ยนเส้นทาง

ทั้งเซิร์ฟเวอร์และการตอบสนองเป็นวัตถุใน ASP. NET ออบเจ็กต์เซิร์ฟเวอร์จัดเตรียมวิธีการและคุณสมบัติสำหรับงานต่างๆ ที่เกี่ยวข้องกับเซิร์ฟเวอร์ Transfer เป็นวิธีการของอ็อบเจ็กต์ Server และส่งข้อมูลของสถานะปัจจุบันไปยังไฟล์.asp อื่นสำหรับการประมวลผล วัตถุตอบกลับอธิบายวิธีการและคุณสมบัติที่เกี่ยวข้องกับการตอบสนองของเซิร์ฟเวอร์ Redirect เป็นวิธีการของวัตถุ Response และส่งข้อความไปยังเบราว์เซอร์ทำให้เชื่อมต่อกับ URL อื่น แม้ว่าทั้ง Server. Transfer และ Response. Redirect สามารถใช้ในการถ่ายโอนผู้ใช้จากเพจหนึ่งไปยังอีกเพจหนึ่งได้ แต่ก็แตกต่างกันในวิธีที่พวกเขาดำเนินการงานนี้จริง

Response. Redirect คืออะไร

Redirect เป็นวิธีการในวัตถุ Response เมื่อเรียกวิธีการตอบกลับ จะส่งรหัส HTTP 302 และ URL ของหน้าเว็บที่ร้องขอไปยังเบราว์เซอร์ของผู้ใช้ รหัส HTTP 302 แจ้งเบราว์เซอร์ของผู้ใช้ว่าทรัพยากรที่ร้องขออยู่ภายใต้ URL อื่น เมื่อเบราว์เซอร์ได้รับรหัส จะเปิดทรัพยากรในตำแหน่งใหม่ หน้าเว็บที่ร้องขอสามารถอยู่บนเซิร์ฟเวอร์เดียวกับหน้าที่มีคำขอหรืออาจอยู่ในเซิร์ฟเวอร์อื่น เมื่อขอหน้าเว็บที่อยู่บนเซิร์ฟเวอร์เดียวกันกับหน้าปัจจุบัน สามารถใช้วิธีการตอบกลับได้ดังนี้:

Response. Redirect(“nextPage.html”);

เมื่อขอหน้าเว็บที่อยู่บนเซิร์ฟเวอร์อื่น สามารถใช้วิธีการตอบกลับได้ดังนี้:

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

Server. Transfer คืออะไร

ดังที่กล่าวไว้ก่อนหน้านี้ การโอนย้ายเป็นวิธีการของวัตถุเซิร์ฟเวอร์เมื่อเรียกวิธีการโอน คำขอเดิมจะถูกแก้ไขเพื่อโอนไปยังหน้าอื่นในเซิร์ฟเวอร์เดียวกัน เมื่อมีการร้องขอหน้าใหม่โดยใช้ Server. Transfer URL ที่แสดงในเว็บเบราว์เซอร์ของผู้ใช้จะไม่เปลี่ยนแปลง เนื่องจากการถ่ายโอนเกิดขึ้นในฝั่งเซิร์ฟเวอร์และเบราว์เซอร์ไม่มีความรู้เกี่ยวกับการถ่ายโอน ด้วยการใช้โอเวอร์โหลดที่สองสำหรับ Server. Transfer (พาธสตริง, บูล saveForm) และตั้งค่าพารามิเตอร์ที่สองเป็นจริง ตัวแปรฟอร์มที่โพสต์และสตริงการสืบค้นสามารถทำให้พร้อมใช้งานในหน้าที่สองได้

Server. Transfer และ Response. Redirect ต่างกันอย่างไร

แม้ว่าทั้ง Server. Transfer และ Response. Redirect สามารถใช้ในการถ่ายโอนผู้ใช้จากเพจหนึ่งไปยังอีกเพจหนึ่งได้ แต่ก็มีความแตกต่างบางประการระหว่างสองวิธี นอกจากความแตกต่างทางวากยสัมพันธ์ที่ชัดเจนแล้ว Response. Redirect ยังส่งไปกลับที่เซิร์ฟเวอร์ ในขณะที่ Server. Transfer เปลี่ยนโฟกัสของเว็บเซิร์ฟเวอร์เป็นหน้าเว็บอื่นดังนั้น ด้วยการใช้ Server. Transfer ทรัพยากรเซิร์ฟเวอร์จึงสามารถรักษาไว้ได้ ในทางกลับกัน Response. Redirect สามารถใช้เพื่อเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าเว็บในเซิร์ฟเวอร์อื่น ในขณะที่ Server. Transfer สามารถใช้เพื่อเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าเว็บบนเซิร์ฟเวอร์เดียวกันเท่านั้น นอกจากนี้ โดยใช้ Server. Transfer คุณสมบัติของเพจก่อนหน้าสามารถเข้าถึงได้โดยเพจใหม่ แต่ไม่สามารถทำได้ด้วย Response. Redirect นอกจากนี้ Response. Redirect จะเปลี่ยน URL ในแถบที่อยู่ของเบราว์เซอร์เมื่อมีการเข้าถึงหน้าใหม่ แต่เมื่อใช้เซิร์ฟเวอร์ การโอน URL เดิมจะยังคงอยู่และเนื้อหาของหน้าจะถูกแทนที่ ดังนั้นผู้ใช้จึงไม่สามารถใช้เพื่อคั่นหน้าใหม่ได้

แนะนำ: