วันพฤหัสบดีที่ 4 มิถุนายน พ.ศ. 2558

Redirect กับ Request Dispatcher ความแตกต่างอยู่ตรงไหน



มาดูการทำงานของ Redirect กัน ฮ๊ะ
1.    Browser ทำการส่ง Request หน้าเว็บที่ต้องการไปยัง Server
2.    เมื่อ Server ทำงานแล้วพบว่า ต้องทำการ Redirect
ก็จะส่ง URL ปลายทางกลับมาให้ Browser พร้อมกับบอกว่า ให้ไปหาที่ URL นี้แทนนะ
3.    เมื่อ Browser ทราบว่าเป็นการ Redirect ตัว Browser ก็จะเอา URL ใหม่ที่ได้ ทำการส่ง Request ไปยัง Server อีกครั้ง(ตามที่ระบุใน URL)
ส่วนการทำงานของ Request Dispatcher
4.    Browser ทำการส่ง Request หน้าเว็บที่ต้องการไปยัง Server
5.    เมื่อ Server ทำงานแล้วพบว่า ต้องทำการ Dispatcher
ตัว Server จะนำเอา URL ที่ต้องการมาทำการส่ง Request เอง
6.    เมื่อ Server ได้รับผลลัพท์จาก URL ปลายทางแล้ว ก็จะส่งผลลัพท์ไปให้ Browser
ซึ่งข้อแตกต่างก็คือ

Redirect
1.    Sequence การทำงานจะเป็น Browser(request) -> Server(response) -> Browser(request) -> Server(response)
2.    URL Address ของ Broser จะเปลี่ยนตามปลายทาง
3.    Parameter ที่ส่งมาครั้งแรกจะหายไป หากไม่อยากให้หายไป ต้องทำการส่งเป็น Query String ใน URL ที่ต้องการ Redirect
Request Dispatcher
1.    Sequence การทำงานจะเป็น Browser(request) -> Server(request) -> Server(response)
2.    URL Address ของ Broser จะไม่เปลี่ยนตามปลายทาง
3.    Parameter ที่ส่งมาครั้งแรกจะไม่หายไป (เนื่องจาก Parameter ยังอยู่ใน request scope)
โดยสรุปคือ
Redirect เป็นการโบ้ยความรับผิดชอบไปให้ Browser ให้ไปหาต่อเอง
Request Dispatcher ฝั่ง Server จะรับหน้าที่ติดต่อปลายทางให้เอง

ไม่มีความคิดเห็น:

แสดงความคิดเห็น