这段时间因为学习Spring Security的“鉴权”从而知道了token这个名词。所谓鉴权,是指验证用户是否拥有访问系统的权利。在这里跟大家一起探讨下cookie、session和token。如有错误之处,欢迎指正。(更多的Java学习知识可关注vx公众号: 进阶的coder)
Cookie
cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以 K-V 形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。
cookie分为两大类:会话cookie和持久化cookie。
会话cookie:是存放在客户端浏览器的内存中,他的生命周期和浏览器是一致的,当浏览器关闭会话cookie也就消失了。
持久化cookie:是存放在客户端硬盘中,持久化cookie的生命周期是我们在设置cookie时候设置的那个保存时间,session的信息是通过sessionid获取的,而sessionid是存放在会话cookie当中的,当浏览器关闭的时候会话cookie消失,所以sessionid也就消失了,但是session的信息还存在服务器端,只是查不到所谓的session但它并不是不存在。
session
存在于