浅谈session管理

商业后台和dr后台都用到了session机制,简单总结一下session的管理。

Session

互联网公司提供的服务基本都是基于HTTP协议的,由于HTTP协议是无状态的协议,但我们提供的服务很多时候是需要有状态的,并且需要维护每个用户的状态,即创建和维护多组独立的状态,这就需要用某种机制来识具体的用户,这个机制就是Session,而实现Session机制很多时候会用到Cookie,接下来我们说一下Cookie。

网络早期最大的问题之一是如何管理状态。简而言之,服务器无法知道两个请求是否来自同一个浏览器。当时最简单的方法是在请求时,在页面中插入一些参数,并在下一个请求中传回参数。这需要使用包含参数的隐藏的表单,或者作为URL参数的一部分传递。这两个解决方案都手动操作,容易出错。网景公司当时一名员工Lou Montulli,在1994年将“cookies”的概念应用于网络通信,用来存储用户网上购物的购物车历史记录,目前所有浏览器都支持cookies。

Cookie本质上是一种客户端存储,多用来标记用户和记录客户端状态,翻译过来是“饼干,甜品”的意思,Cookie在网络应用中到处存在,当我们浏览之前访问过的网站,网页中可能会显示:你好,xxx,这就会让我们感觉很亲切,像吃了一块很甜的饼干一样。利用Cookie我们可以实现一些新功能,比如用户登录过的账号可以存在Cookie里,用户下次登录时候可以直接帮助用户填写到表单中,方便用户使用,再比如上面提到的存储网上购物车的历史记录。

就Cookie本身而言,只是一个往返服务器和客户端之间的信息载体,不一定和Session有必然联系,但是我们实现Session机制经常使用到Cookie。接下来我们看一下Session机制的实现。

tips:

这一次带你彻底了解Cookie

清除Cookie?告诉你什么叫Cookie