老生常谈的就不说啦。
Session其实是一个抽象的概念,由于Http协议无状态性,开发者为了记录用户状态以实现一些操作,将用户(User Agent)和服务器(Server)间的交互抽象为“会话-Session”,进而衍生出“会话状态”的概念。
Cookie是一个实际存在的东西,定义在Http协议的header字段中,可以认为是Session的一种服务器端无状态实现。
我们今天常说的 “Session”,是为了绕开 cookie 的各种限制,通常借助 cookie 本身(存 session id)和后端存储实现的,一种更高级的会话状态实现。
So,Cookie和Session并不是那么泾渭分明的,具体到实现,Session 因为 session id 的存在,通常要借助 Cookie 实现,但这并非必要,只能说是通用性较好的一种实现方案。
网友评论