javaweb学习总结(8)

三、cookie与session

不要混淆 session 和 session 实现。本来 session 是一个抽象概念,开发者为了实现中断和继续等操作,将 user agent 和 server 之间一对一的交互,抽象为“会话”,进而衍生出“会话状态”,也就是 session 的概念。

而 cookie 是一个实际存在的东西,http 协议中定义在 响应头中的字段。所以可以将cookie认为是 session 的一种后端无状态实现。


而我们今天常说的 “session”,是为了绕开 cookie 的各种限制,如信息容量过小、每个服务器上的cookie个数有限等,借助 cookie 本身和后端存储实现的,一种更高级的会话状态实现。

所以 cookie 和 session,可以认为是同一层次的概念,也可以认为是不同层次的概念。

具体到实现,session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比
 

如在 url 中传递 session_id)

猜你喜欢

转载自blog.csdn.net/qq_37211608/article/details/81392365