สำหรับคนคนที่ทำเว็บและต้องการเก็บข้อมูลเกี่ยวกับผู้ใช้งาน สิ่งที่น่าจะเคยเจอกันก็คือ Cookie และ Session ที่ดูเหมือนว่าจะใช้งานได้เหมือนๆกัน แต่จริงๆแล้วทั้งสองอย่างนี้มีความแตกต่างกัน รวมถึงการนำไปใช้งานที่ไม่เหมือนกัน
Cookie คืออะไร ?
Cookie เป็นไฟล์เล็กๆที่เว็บเซิร์ฟเวอร์ ส่งให้เบราเซอร์เก็บเอาไว้หรือก็คือเก็บในเครื่องของผู้ใช้งาน โดยเมื่อไหร่ก็ตามที่ Cookie ถูกส่งไปเก็บไว้ในเบราเซอร์เรียบร้อยแล้ว เวลาที่ผู้ใช้ใช้งานเว็บไซต์ที่เป็นเจ้าของ Cookie เบราเซอร์ก็จะส่งข้อมูล Cookie นั้นติดไปกับ Request ต่างๆทุกครั้ง ซึ่งไฟล์ Cookie นี้จะอยู่ในเบราเซอร์ของผู้ใช้ไปตลอดจนกว่าจะถูกลบโดยผู้ใช้เอง
Session คืออะไร ?
Session คือข้อมูลที่เก็บเอาไว้ในฝั่ง Server โดยแต่ละผู้ใช้งานหรือก็คือเบราเซอร์หนึ่งจะถูกเก็บไว้โดยมี unique id กำกับในแต่ละ Session เอาไว้ ซึ่งตัว id ดังกล่าวจะถูกส่งไปที่เบราเซอร์และเก็บในรูปแบบ Cookie อีกที เวลาที่ผู้ใช้ ใช้งานเว็บไซต์นั้นก็จะส่ง id ไปยังเซิร์ฟเวอร์ด้วย แล้วเซิร์ฟเวอร์ะนำ id ไปดึงข้อมูล Session ที่เก็บไว้ออกมาอีกที ซึ่งข้อมูล Session จะเป็นข้อมูลชั่วคราวที่หมดอายุหลังจากที่ผู้ใช้ออกจากเว็บไป
ควรใช้ Cookie หรือ Session ตอนไหน ?
สำหรับ Cookie และ Session จะเห็นว่ามีจุดแตกต่างกันชัดเจนก็คือ
ที่เก็บข้อมูล
- Cookie เก็บฝั่งผู้ใช้
- Session เก็บฝัง Server
เวลาหมดอายุของข้อมูล
- Cookie เก็บได้ถาวรจนกว่าผู้ใช้จะลบ
- Session นับเวลาหมดอายุหลังผู้ใช้ปิดเว็บ
ความแตกต่างของทั้งสองอย่างนี้ทำให้การนำไปใช้งานนั้นแตกต่างกัน โดยที่
Cookie
จะเหมาะกับการเก็บข้อมูลที่นำไปใช้ได้อย่างถาวร หรือใช้ได้เป็นเวลานานจนกว่าจะมีการเปลี่ยนแปลงใหม่ๆ เช่นข้อมูลการตั้งค่าต่างๆที่ผู้ใช้งานเป็นคนกำหนดไว้ โดยสิ่งที่ต้องระวังมากที่สุดก็คือไม่ควรเก็บข้อมูลที่เป็นความลับอย่างรหัสผ่านต่างๆเอาไว้ใน Cookie เพราะการที่ข้อมูลอยู่ในคอมพิวเตอร์ของผู้ใช้ ทำให้อาจจะถูกแก้ไขเปลี่ยนแปลงได้
Session
การที่ข้อมูลถูกเก็บอยู่ที่เซิร์ฟเวอร์ทำให้สามารถเก็บข้อมูลได้ทุกประเภท อย่างเช่นข้อมูลการเข้าสู่ระบบ ทำให้ผู้ใช้สามารถใช้งานเว็บได้โดยทำการเข้าสู่ระบบแค่ครั้งเดียว
ทั้ง Cookie และ Session นั้นก็ล้วนมีข้อดีและข้อเสียต่างกันออกไป แค่เราต้องเลือกใช้กับให้เหมาะสมกับงานครับ
ข้อมูลจาก