开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 18 天,点击查看活动详情
在编写网页时,经常要用到登录验证模块,通常使用的登陆校验技术是用cookie、session来实现的,使用cookie在用户的浏览器客户端本地存储一些用户信息,比如头像路径之类的,方便在其他网页使用,提供更便利更友好的用户体验,session是服务器端用来存储用户部分信息的内存空间或者其他存储介质空间,通常要使用这部分来存储用户账号的标识信息,比如用户id和用户名等,这样cookie和session结合起来,就可以在用户发来请求时快速辨别用户,通过cookie来找到对应的session空间,然后快速进行一些独属于用户的操作,了解了cookie、session的基本原理和作用后就可以来尝试来设计一下他们的运作方式。
设计session管理的实现首先要有个大概的框架,这个session要实现以下几点功能:
- 1.必须是全局的,可以被项目各部分调用的。
- 2.每一个session都要有独属于他的id,以便于我们找到他,而这个标识必须是独一无二的。
- 3.确保每一个用户都能关联到一个session。
- 4.session的存储介质可以是内存、文件、数据库等。
- 5.每个session都应该有生命周期,过期后要进行销毁。
以上就是session框架设计的简单思路,其中,sessionId的唯一性是因为要识别每一个来访的用户;而关于session的创建则是在用户登录后,为用户创建一个session,然后把session的id加入到cookie串中,向浏览器发送一个设置cookie的命令,那么下次用户再访问时就能找到对应的session空间了。