会话管理之Session、cookie、token
HTTP是无状态的,每次请求都是一个新的HTTP协议,就是请求加响应,不知道是谁刚刚发了HTTP请求,每个请求都是全新的。但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品,也就是说必须把每个人区分开。
一、 session
为解决上面的问题,想出的办法就是给大家发一个会话标识(session id),就是一个随机的字串,每个人收到的都不一样, 每次大家向服务器发HTTP请求的时候,把这个字符串给一并捎过来, 这样就能区分开谁是谁了。
session存在于服务器中,可以存放用户的状态信息,客户端发送请求时,服务器会生成一个session对象,session对象生成一个对应的sessionID返回给客户端,客户端再次请求时会在cookie中携带该sessionID随请求一起发送给服务器,服务器对sessionID进行验证是否有效。
二、 Cookie
cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。
cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的ÿ