Skip to content

Cookie

Cookie là các "tệp văn bản nhỏ" chứa dữ liệu (thường được mã hóa) được một số trang web lưu trữ ở phía máy khách (Client Side) của người dùng nhằm mục đích nhận diện người dùng đó.

Các ứng dụng web tương tác gặp khó khăn lớn do giao thức HTTP là "không trạng thái" (stateless), nghĩa là máy chủ không biết người dùng đã làm gì ở lần truy cập trước. Trong một kịch bản mua sắm trực tuyến điển hình, người dùng duyệt qua một vài trang và thêm một hộp bánh quy cùng hai đồ uống vào giỏ hàng. Ở giai đoạn thanh toán, vì HTTP là không trạng thái, máy chủ sẽ không biết người dùng đã mua gì nếu không có các phương tiện bổ sung. Cookie chính là một trong những "phương tiện bổ sung" đó để khắc phục tính không trạng thái của HTTP. Máy chủ có thể thiết lập hoặc đọc thông tin chứa trong Cookie để duy trì trạng thái phiên làm việc của người dùng với máy chủ.

Trong kịch bản mua hàng vừa rồi, khi người dùng chọn món đồ đầu tiên, máy chủ gửi cho người dùng một trang web kèm theo một Cookie ghi lại thông tin về mặt hàng đó. Khi người dùng truy cập trang khác, trình duyệt gửi Cookie này lại cho máy chủ, giúp máy chủ biết họ đã chọn gì trước đó. Khi thanh toán, máy chủ chỉ cần đọc các Cookie được gửi đến.

Một công dụng điển hình khác của Cookie là khi đăng nhập vào một trang web, trang web thường hỏi tên đăng nhập và mật khẩu, đồng thời cho phép chọn "Tự động đăng nhập vào lần tới". Nếu được chọn, lần sau người dùng truy cập vào cùng một trang web, họ sẽ thấy mình đã đăng nhập mà không cần nhập lại thông tin. Điều này là do ở lần đăng nhập trước, máy chủ đã gửi một Cookie chứa thông tin đăng nhập (thường ở dạng mã hóa) vào ổ cứng của người dùng. Ở lần đăng nhập thứ hai, nếu Cookie chưa hết hạn, trình duyệt sẽ gửi nó đi, máy chủ xác thực và cho phép người dùng đăng nhập ngay lập tức.