Una cookie es un pequeño archivo de texto almacenado en el navegador.
Una sesión es el concepto de un estado de "uso", y ese estado puede tener datos asociados. Rails realiza un seguimiento de las sesiones con cookies, y le permite elegir otro almacenamiento para los datos asociados y acceder a él con la misma interfaz session
.
CookieStore
significa que toda la información de la sesión se almacena dentro de la misma cookie. Puede optar por utilizar otras tiendas cuando corresponda, y seguirá estando disponible con sus métodos de acceso session
.
Además de la sesión, puede configurar otras cookies para almacenar información en el navegador del usuario. Estos no están vinculados a la sesión y se pueden configurar, acceder y eliminar de forma independiente.
Ejemplo 1, el almacenamiento de carrito de la compra de un usuario que ha iniciado sesión en una sesión en:
session[:embarassing_products] = ['ooh',
'naughty',
'lucky_im_using_activerecord_store',
'only_the_session_id_is_in_the_cookie',
'other_data_arent_in_the_browser']
El carro de compras se conserva durante la sesión del usuario. Puede configurar la sesión para que finalice cuando la ventana del navegador se cierre, cuando el usuario cierre la sesión o cuando pase una cierta cantidad de tiempo.
Ejemplo 2, recordando la última preferencia de idioma del navegador para su dominio en una cookie:
cookie[:lang] = 'en-US'
Esta información se almacena dentro de la propia galleta. A menos que la cookie expire o sea eliminada (por usted o por el usuario), permanece dentro del navegador.
Estas sesiones basadas en cookies existen en el lado del cliente y sus datos están codificados. – secretlm