Cookie和Session是在HTTP协议中常用的令牌,两者很容易混淆,需要进行区分。
目录>>
1. 为什么需要Cookie和Session?
HTTP协议自身是属于"无状态"协议,默认情况下,HTTP协议的客户端和服务器之间的这次通信,和下次通信之间没有直接的联系,就像服务器没有记忆一样。实际上,无状态协议比有状态协议更优,无状态协议设计简化了服务器设计,有状态的协议设计使得服务器的设计非常复杂和繁重。 无状态协议在崩溃时工作得更好,因为没有必须恢复的状态,发生故障的服务器可以在崩溃后简单地重新启动。
但是实际开发中,我们很多时候是需要知道请求之间的关联关系的,例如,登陆网站成功后,第二次访问的时候服务器就能知道该请求是否是已经登陆过了。
那么,我们如何实现呢?就需要依靠 Cookie & Session。
2. Cookie是什么?
Cookie实际上是浏览器保存用户信息的地方。在浏览器需要记录"令牌"(Cookie)信息,以及令牌对应的用户信息,这个就是Session机制所做的工作。
就像进校门,学生需要用学生证(Cookie)验证信息,学生证由学生来保存,学生发出验证请求,校门如何知道该学生是否是本校学生,就依靠学生证上的信息与学校信息库对照,如果验证成功,则发出开门响应。
3. Session是什么?
Session实际上是服务器