什么是Cookie?它是拿来干嘛的?
Cookie是用来跟踪浏览器用户身份的会话方式,为啥要用Cookie来跟踪呢?因为http协议是无状态的。Cookie是某些网站为了辨别用户身份而储存在用户本地终端的数据,即Cookie存放在客户端。那么Cookie里到底存放了什么呢?可以用它来存放SessionID或Token。我的天,那SessionID和Token又是什么玩意?存放它俩有啥用?不急,接下来慢慢讲。
什么是Session?它有什么用?
Session其实也是用来跟踪浏览器用户身份的会话方式,但它和Cookie不一样,Cookie存放在客户端,而 Session数据存放在服务端,用来记录用户的状态。服务端给特定的用户创建特定的Session用来标识这个用户。因为Cookie数据是保存在客户端的,而Session数据是保存在服务器端的,所以相对而言,Session数据的安全性会更高一些。这就告诉了我们,最好不要将一些敏感的信息写入Cookie中,安全起见还可以把Cookie中的信息加密,然后到了服务端再去解密。
具体一点,如何用特定的Session去标识特定的用户呢?通过SessionID来标识特定的用户。SessionID一般存放在服务端的内存数据库中,当用户登陆系统成功后,就会返回给客户端具有SessionID的Cookie,之后当客户端向服务端发起请求时,就可以携带上这个SessionID,这样服务端就能知道该请求的用户身份状态了。
总的来说,通过Session进行身份验证的流程有如下5个步骤:
1.初次登陆系统时,通过用户名和密码进行验证&