Cache (แคช) และ Cookies (คุกกี้) ทั้งคู่เก็บข้อมูลฝั่ง Client (Browser) แต่มีวัตถุประสงค์ โครงสร้าง และอายุการใช้งานที่ต่างกัน
ตารางเปรียบเทียบ
| ด้าน | Cache (แคช) | Cookies (คุกกี้) |
|---|---|---|
| วัตถุประสงค์ | เก็บเนื้อหาเว็บที่ใช้บ่อย เพื่อโหลดหน้าเว็บเร็วขึ้น | เก็บข้อมูลผู้ใช้/เซสชัน เพื่อจำสถานะ/ความชอบ |
| ที่เก็บข้อมูล | เฉพาะ Browser (Client-side) | ทั้ง Server และ Browser |
| หมดอายุ | หมดอายุด้วยตนเอง (Manual) หรือตาม Header | หมดอายุอัตโนมัติ (Expires/Max-Age) |
| พื้นที่จัดเก็บ | มาก (หลาย MB - GB) | น้อย (สูงสุด ~4KB ต่อคุกกี้) |
| ประเภท | Session Cookies, Persistent Cookies, Secure/HttpOnly | |
| ข้อมูลที่เก็บ | HTML, CSS, JS, รูปภาพ, ฟอนต์, ไฟล์สื่อ | Session ID, Preferences, Tracking ID, Token |
| การส่งต่อ Server | ไม่ส่งไปกับ Request (ยกเว้น Validation) | ส่งไปทุก Request อัตโนมัติ (Cookie Header) |
| ความปลอดภัย | ต่ำกว่า (ไม่เข้ารหัส มองเห็นได้) | สูงกว่า (มี HttpOnly, Secure, SameSite) |
รายละเอียด Cache
- Browser Cache: เก็บในฮาร์ดดิสก์/หน่วยความจำของเครื่องผู้ใช้
- Proxy Cache: เซิร์ฟเวอร์กลาง (ISP/องค์กร) เก็บเพื่อลดแบนด์วิดท์
- CDN Cache: Edge servers ใกล้ผู้ใช้เก็บเนื้อหา Static
- ควบคุมด้วย HTTP Headers:
Cache-Control,ETag,Last-Modified,Expires
รายละเอียด Cookies
- Session Cookies: หายเมื่อปิดเบราว์เซอร์ (ไม่มี Expires)
- Persistent Cookies: มีวันหมดอายุ คงอยู่หลายเซสชัน
- First-party: ตั้งโดยโดเมนที่กำลังเข้า
- Third-party: ตั้งโดยโดเมนอื่น (Tracking/Ads)
- ควบคุมด้วย Attributes:
HttpOnly,Secure,SameSite,Domain,Path
สรุป
Cache = เพื่อ ประสิทธิภาพ (Speed) - เก็บ "สิ่งที่ดู"
Cookies = เพื่อ สถานะ/ตัวตน (State/Identity) - เก็บ "ว่าเป็นใคร/ชอบอะไร"