over 1 year ago

session是一种特殊的cookie,先搞明白什么是cookie?
cookie是网站为了采集用户信息提供个性化服务而设置的存储档,网站服务器发送给浏览器一些特殊的信息,并让浏览器帮忙记录,浏览器把这些信息保存在本地,这些信息就是cookies.cookies也有很多栏位可能有名字,密码,过期时间等等这些信息是加密传输的。

为什么要存储在cookie里呢,session的工作机制是这样的:

  1. user跟server有了一些交互,产生了一些状态,比如说登录状态。浏览器会把这种状态发送给server。
  2. server根据这个状态,给user生成了一个session id,回复给浏览器,让留恋其帮忙保存在cookie里面。
  3. 之前提到,当用户再次访问同一个server的时候,浏览器会把相关的cookie也发送给server。正式因为这些cookie里面有session id,server能够知道用户是谁,什么状态等等。让用户接着上次回话继续操作,不用重新登陆了之类的,等等。 总结 session是user跟server的会话,通过在cookie中留下session id,让服务器能够追踪用户的状态。

参考文档:浅入理解session

← model、helper_method和helper的区别 find_by与find区别 →