前言
cookie、session、token为了解决什么问题:
HTTP是一种无状态的协议,而服务器的业务必须是有状态的。
随着在线购物网站、需要登录的网站等等,面临的问题就是要管理会话。Session 、 Cookie、Token等就是来解决这个问题的机制。
鉴权流程图:
根据上图可以看到,从用户请求发起,到服务端完成操作,流程颇多,但是HTTP无状态,我们如何才能详细记录这些操作过程并加以严格的权限判断控制,接下来就开始今天的主题!
1. cookie
Cookie 诞生的最初目的是为了存储 web中的状态信息,方便服务器端使用。比如判断用户是否是第一次访问网站等问题。
cookie是保存在本地终端的数据。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。
- cookie 是客户端技术,程序把每个用户的数据以 co