1.什么是会话管理?
我们上网的过程依赖的是大名鼎鼎的http协议,http协议是无状态的,它不像运输层的老大哥TCP协议。TCP协议是面向连接的协议,需要通过三次握手建立了连接才能开始通信,通信双方会通过套接字发送信息到目的IP的端口。而HTTP呢,你可以理解成每一次HTTP请求都是一个新的请求,因为它只需要把东西传出去,剩下的就是TCP大哥帮它传递了。他不会去记录是谁向他要什么东西,只要你找我拿,我就给你,你拿这个东西要什么手续,你就填什么手续。这样问题就来了,当你登录了一个购物网站,比如说京东吧,每次打开页面你都得登录一次。你总不会想着每次点开一个页面就登陆一次吧,是的,很多计算机大佬也不愿意,因此他们就发明了会话管理。
会话管理的种类
a.Session
Session主要是服务端的会话管理技术。
首先看一下session生成的流程
1.浏览器向服务器发起第一次请求,服务端就创建一个session:sessionid
2.服务器返回这个sessionid给浏览器
3.客户发送登录凭证到服务器,当然登录的消息是包含了sessionid一并发到服务器端的。因此,服务器那边就能把sessionid与这个登录用户绑定起来,以后每一次操作都不需要登录了(一般带有限定时间,不然你一直登陆,如果有人通过抓包盗用了你的sessionid就完蛋了)。
4.服务器根据你顺带发过来的sessionid将你的登录信息绑定到这个session上,并进行记录。
5.浏览器访问需要登录的才能访问的页面
6.服务器拿到sessionid的,对这个sessionid进行判断,这个id过期没呀,有没有登录呀。行,可以给你信息。
举个例子就是:
小明去健身房做运动,进去的时候要认证本人,小明在哪天在这里办理会员,我是谁啊,哪个级别会员(类似登录网站填写用户名和密码),然后呢,哪怕去玩个跑步机,我还得跟私教又认证一下,每一次都要这样,烦死人了。
这个时候就很烦,那应该怎么办呢,就不能我只在