- 服务器如何记录用户的状态? 我们知道http协议是无状态的,我们就需要通过某种机制来识别具体用户,这个机制就是Session.以Tomcat Web服务器为例,当客户端浏览器向Tomcat发起请求时,Tomcat就会为此请求建立一个Sesssion,来记录状态。
记录好状态后如何去识别呢? 这个时候Cookie就登场了,每次Http请求的时候,客户端都会发送相应的Cookie信息到服务器。上面我们说到当请求第一次到达服务器时,会为他创建一个Session ,同时会为此Session分配一个标识(SeesionID),并且会把这个id保存在Cookie中,保存形式是以JSESSIONID保存的。这样服务器就可以通过这个id来找到这个请求对应是那个Session了。并从中获取相关的状态。
Session是服务器保存的一个数据结构,用来跟踪用户状态,这个数据可以保存在集群,数据库,文件中;Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式,同时也记录了服务器端Session的标识
今天我们说的用户的登录用的就是这两种机制(我通过将用户在数据库中的id号存放在Cookie中来识别用户)
身份验证
创建登录身份令牌(这里通过将token通过MD5算法加密后生成令牌)