会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。
Cookie通过在客户端记录信息确定用户身份,常用于登陆时的记住我选项,只要不清除cookie,那么用户以后重启电脑也不用在输入用户名和密码进行登陆。
Session通过在服务器端记录信息确定用户身份,与Cookie不同,Session常用于临时会话,关闭浏览器后就失效了,需要再次登陆。
如下,我们创建一个唯一的随机数(用于每个用户的唯一标识保证),名字叫auth_token,所以下面查看会话保持时间的时候我们可以看到这个字段:
这个字段是session那么表示是唯一标识保存在服务器----关闭浏览器就清除的临时会话,关闭浏览器之后就需要重新登陆;
若是具体日期比如2036那么表示cookie保存在客户端,直到2036年才需要重新登录;
如下:
不选记住我,那么就是session,也就是临时会话,保存在服务器,退出浏览器后需要重新登陆
选择记住我,那么就是保存在客户端也就是浏览器,可以看到过期时间
来登录一下试试,如果不勾选 " remember me ",如下登陆可以看到auth_token这个用户登录的唯一标识的Expires(也就是过期时间)是session,所以退出浏览器后就清除登录。
而勾选了" remember me "之后,如下过期时间是2036年,因为rails的cookies机制默认过期是20年后;也就是只要我们不清除cookie那么我们访问该网站默认就登录了,20年间我们不需要再次登录。