跨境小伙伴们大家好,上一篇为大家介绍了Cookie,今天就为大家介绍下连接cookie的另一端Session,交互过程中,二者缺一不可。
与Cookie相对,Session是存储在服务端的,他们之间是通过一个叫做sessionID的东东建立联系的。简单描述下他们直接的工作原理
以超市会员卡举例,没有办理会员卡的用户,每次到超市买东西结账,超市都会认为您是新的用户,且不会有积分,打折之类的优惠,此时用户和超市之间就是没有联系的,也就是无状态的意思,假如现在用户办了一张会员卡,一般都是通过手机号办理会员卡,这个手机号就相当于sessionID,下次用户再来购物,通过手机号就能知道是否是会员了。
无图无真相
深入理解session机制
服务器使用类似散列结构的数据结构来保存session。
当用户请求服务器时,服务器端会检查客户端请求中是否包含sessionID,如果包含,则说明已经创建了,进而通过sessionID查询响应的存储信息,比如判断是否登录、是否会员等。如果客户端请求中不存在,则说明是一个新的客户端,服务端会为他创建一个唯一的sessionID,并再本次响应中一并返回给我客户端,这样就建立了联系。
何时创建
表面上是客户端访问时就创建,实际要根据服务器的设置来判断是否需要创建。在此可以理解为访问时创建。
何时删除
session的存活时间操作设定值时会被删除,还有就是服务器崩溃了,或者客户端清除了浏览器cookie了。浏览器关闭或者崩溃是不会对session产生影响的,除非清空了cookie。
切记,服务端是认ID不认人的,只要您请求时带了sessionID,就会认定为您是某一个指定的用户,这就是为什么买店铺的时候,卖家会给您Cookie文件。自己店铺的Cookie一定要稳妥的保存哦。
好了今天就为大家介绍到这里。