Cookies là gì?
Cookies là các tập tin nhỏ được lưu trữ trong trình duyệt của người dùng, dùng để ghi nhớ thông tin khi truy cập website. Ví dụ: khi bạn đăng nhập vào một trang web, cookie sẽ lưu trạng thái đăng nhập để bạn không cần đăng nhập lại khi chuyển sang trang khác.
Cookies được server gửi đến trình duyệt thông qua HTTP header hoặc được JavaScript tạo ra, và sẽ tự động được gửi lại khi người dùng truy cập cùng domain đó trong lần sau.
Cấu trúc của một cookie
- Tên: tên biến cookie
- Giá trị: nội dung được lưu (text, token…)
- Thời hạn (Expires): thời điểm hết hạn cookie
- Domain / Path: cookie dùng cho domain và path nào
- Secure: chỉ gửi qua HTTPS
- HttpOnly: ngăn JavaScript truy cập (chống XSS)
Ví dụ cookie thực tế
Set-Cookie: session_id=abc123; Path=/; HttpOnly; Secure; Expires=Wed, 01 Jan 2025 00:00:00 GMT
Cookies hoạt động như thế nào?
- Server tạo cookie và gửi cho trình duyệt qua header
- Trình duyệt lưu lại cookie theo domain/path
- Khi người dùng truy cập lại website → trình duyệt tự động gửi cookie tương ứng
Các loại cookies
| Loại cookie | Đặc điểm | Ví dụ |
|---|---|---|
| Session cookie | Chỉ tồn tại trong phiên làm việc, bị xoá khi tắt trình duyệt | Ghi nhớ giỏ hàng tạm thời |
| Persistent cookie | Lưu trong trình duyệt tới khi hết hạn | Lưu đăng nhập “ghi nhớ tôi” |
| First-party cookie | Tạo bởi chính domain người dùng truy cập | session_id của website |
| Third-party cookie | Tạo bởi domain khác (quảng cáo, tracking) | Facebook Pixel, Google Ads… |
Ứng dụng của cookies trong website
- Lưu trạng thái đăng nhập
- Ghi nhớ giỏ hàng, lựa chọn
- Tracking hành vi người dùng (analytics)
- Hiển thị nội dung cá nhân hóa
Cookies có liên quan gì đến bảo mật?
- HttpOnly: chặn JavaScript đọc cookie → chống XSS
- Secure: chỉ gửi cookie qua HTTPS
- SameSite: ngăn tấn công CSRF (cross-site request forgery)
Cookies khác gì với localStorage?
| Tiêu chí | Cookies | localStorage |
|---|---|---|
| Tự gửi về server mỗi request | Có | Không |
| Dùng trong xác thực | Thường dùng | Không an toàn để lưu token |
| Truy cập bằng JS | Có thể (nếu không HttpOnly) | Luôn có |
Kết luận
Cookies là nền tảng để website hoạt động thông minh, cá nhân hoá và bảo mật hơn. Tuy chỉ là vài kilobyte dữ liệu, nhưng nó giúp bạn “ghi nhớ” người dùng, duy trì phiên làm việc, phân tích hành vi và vận hành logic phức tạp phía server.