Cookie是存儲在瀏覽器中的一個小文本文件。
會話是「正在使用」狀態的概念,並且該狀態可以具有與其關聯的數據。 Rails使用Cookie跟蹤會話,並允許您爲關聯數據選擇不同的存儲,並使用相同的session
界面訪問它。
CookieStore
表示所有會話信息都存儲在cookie本身內部。您可以選擇適當地使用各種其他商店,並且它仍然可以使用您的session
訪問器方法。
除了會話之外,您還可以設置其他Cookie以在用戶的瀏覽器上存儲信息。這些與會話無關,可以獨立設置,訪問和刪除。
例1中,存儲有已登錄用戶的購物車中的會話:
session[:embarassing_products] = ['ooh',
'naughty',
'lucky_im_using_activerecord_store',
'only_the_session_id_is_in_the_cookie',
'other_data_arent_in_the_browser']
的購物車被保存在用戶的會話。您可以將會話設置爲在瀏覽器窗口關閉時,用戶退出時或經過一定時間時結束。
例2,記住在一個cookie域瀏覽器的最後一個語言首選項:
cookie[:lang] = 'en-US'
此信息存儲在cookie自身內部。除非Cookie過期或被刪除(由您或用戶),否則它保留在瀏覽器內。
這些基於cookie的會話存在於客戶端,並對其數據進行編碼。 – secretlm