Cookie là một tệp văn bản nhỏ được lưu trữ trong trình duyệt.
Phiên là khái niệm trạng thái "đang được sử dụng" và trạng thái đó có thể có dữ liệu được liên kết với nó. Đường ray theo dõi các phiên có cookie và cho phép bạn chọn dung lượng lưu trữ khác nhau cho dữ liệu được liên kết và truy cập vào cùng với giao diện session
.
CookieStore
có nghĩa là tất cả thông tin phiên được lưu trữ bên trong chính cookie đó. Bạn có thể chọn sử dụng nhiều cửa hàng khác khi thích hợp và sẽ vẫn có sẵn với các phương thức truy cập session
của bạn.
Ngoài phiên, bạn có thể đặt các cookie khác để lưu trữ thông tin trên trình duyệt của người dùng. Đây không phải là gắn liền với phiên và có thể được thiết lập, truy cập và xóa một cách độc lập.
Ví dụ 1, tàng trữ giỏ mua hàng của người dùng đăng nhập trong một phiên:
session[:embarassing_products] = ['ooh',
'naughty',
'lucky_im_using_activerecord_store',
'only_the_session_id_is_in_the_cookie',
'other_data_arent_in_the_browser']
Các giỏ mua hàng được bảo tồn cho phiên làm việc của người dùng. Bạn có thể đặt phiên kết thúc khi cửa sổ trình duyệt bị đóng, khi người dùng đăng xuất hoặc khi một khoảng thời gian nhất định trôi qua.
Ví dụ 2, nhớ tuỳ chọn ngôn ngữ cuối cùng của trình duyệt cho miền của bạn trong một cookie:
cookie[:lang] = 'en-US'
Thông tin này được lưu trữ bên trong các tập tin cookie riêng của mình. Trừ khi cookie hết hạn hoặc bị xóa (bởi bạn hoặc người dùng), nó sẽ nằm trong trình duyệt.
Các phiên dựa trên cookie này đã tồn tại ở phía máy khách và dữ liệu của chúng được mã hóa. – secretlm