Cookies เป็นไฟล์ข้อความเล็กๆ ที่จัดเก็บบนคอมพิวเตอร์ client (browser) ใช้สำหรับ tracking ข้อมูลต่างๆ JSP รองรับ HTTP cookies ผ่าน servlet technology
กระบวนการทำงาน 3 ขั้นตอน
- Server ส่ง cookies - เช่น ชื่อ, อายุ, ID ระบุตัวตน ฯลฯ ผ่าน
Set-Cookieheader - Browser จัดเก็บ - บันทึกไว้ในเครื่อง local สำหรับใช้ครั้งต่อไป
- Browser ส่งกลับ - request ถัดไป browser ส่ง cookies กลับมาพร้อม request เซิร์ฟเวอร์ใช้ระบุตัวตน user
คุณสมบัติสำคัญ
- จัดเก็บฝั่ง client (client-side storage)
- มีขนาดจำกัด (~4KB ต่อ cookie, ~20-50 cookies ต่อ domain)
- ส่งอัตโนมัติทุก request ไป domain/path เดียวกัน
- สามารถตั้งวันหมดอายุ (persistent) หรือ session-only
- ผู้ใช้สามารถลบ/ปิด cookies ได้
กรณีการใช้งานทั่วไป
- Session management (JSESSIONID)
- Remember me / Auto login
- User preferences (theme, language)
- Tracking / Analytics
- Shopping cart (simple)
ข้อจำกัดและความปลอดภัย
- ไม่ควรเก็บข้อมูลละเอียดอ่อน (password, credit card)
- ตั้งค่า HttpOnly ป้องกัน XSS
- ตั้งค่า Secure สำหรับ HTTPS
- SameSite attribute ป้องกัน CSRF
JSP ใช้งาน cookies ผ่าน javax.servlet.http.Cookie class และ response.addCookie() / request.getCookies()