Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีรักษา Session ระหว่าง Web Client และ Web Server


ตัวเลือกต่อไปนี้คือวิธีบางอย่างในการรักษา Session ระหว่าง Web Client และ Web Server -

Cookies

เว็บเซิร์ฟเวอร์สามารถกำหนด Session ID ที่ไม่ซ้ำกันเป็น Cookie ให้แต่ละ Web Client และสำหรับคำขอต่อจากไคลเอ็นต์ พวกเขาสามารถถูกจดจำได้โดยใช้ Cookie ที่ได้รับ

วิธีนี้อาจไม่มีประสิทธิภาพ เพราะเบราว์เซอร์บางครั้งไม่รองรับ Cookie ไม่แนะนำให้ใช้กระบวนการนี้เพื่อรักษา Session

Hidden Form Fields (ฟิลด์ฟอร์มแฝง)

เว็บเซิร์ฟเวอร์สามารถส่งฟิลด์ HTML แบบแฝงพร้อม Session ID ที่ไม่ซ้ำกันได้ดังนี้ -

<input type = "hidden" name = "sessionid" value = "12345">

รายการนี้หมายความว่า เมื่อฟอร์มถูกส่ง ค่าชื่อและค่าที่ระบุจะถูกรวมอยู่ในข้อมูล GET หรือ POST โดยอัตโนมัติ ทุกครั้งที่เบราว์เซอร์ส่งคำขอกลับ ค่า session_id สามารถใช้ติดตามเว็บเบราว์เซอร์ที่แตกต่างกันได้

นี่อาจเป็นวิธีที่มีประสิทธิภาพในการติดตาม Session แต่การคลิกลิงก์ไฮเปอร์เท็กซ์ทั่วไป (<A HREF...>) ไม่ทำให้เกิดการส่งฟอร์ม ดังนั้น Hidden Form Fields จึงไม่สามารถรองรับ Session Tracking แบบทั่วไปได้

URL Rewriting (การเขียน URL ใหม่)

คุณสามารถผนวกข้อมูลเพิ่มเติมไว้ท้าย URL แต่ละอัน ข้อมูลนี้ระบุ Session เซิร์ฟเวอร์สามารถเชื่อมโยง Session Identifier นั้นกับข้อมูลที่มันเก็บเกี่ยวกับ Session นั้น

เช่น ด้วย https://tutorialspoint.com/file.htm;sessionid=12345 Session Identifier ถูกแนบเป็น sessionid = 12345 ซึ่งสามารถเข้าถึงได้ที่เว็บเซิร์ฟเวอร์เพื่อระบุ Client

URL Rewriting เป็นวิธีที่ดีกว่าในการรักษา Session และทำงานสำหรับเบราว์เซอร์ที่ไม่รองรับ Cookies ข้อเสียคือคุณจะต้องสร้าง URL ทุกอันแบบไดนามิกเพื่อกำหนด Session ID แม้หน้าจะเป็น HTML คงที่ง่ายๆ