为什么需要 Cookie 和 Session,他们有什么关联?
为什么需要 Cookie 和 Session
说起来为什么需要 Cookie ,这就需要从浏览器开始说起,
我们都知道浏览器是没有状态的(HTTP 协议无状态),这意味着浏览器并不知道是张三还是李四在和服务端打交道。
这个时候就需要有一个机制来告诉服务端,本次操作用户是否登录,是哪个用户在执行的操作,
那这套机制的实现就需要 Cookie 和 Session 的配合。
Cookie 和 Session 是如何配合的
用户第一次请求服务器的时候,服务器根据用户提交的相关信息,创建创建对应的 Session ,
请求返回时将此 Session 的唯一标识信息 SessionID 返回给浏览器,
浏览器接收到服务器返回的 SessionID 信息后,会将此信息存入到 Cookie 中,
同时 Cookie 记录此 SessionID 属于哪个域名。
当用户第二次访问服务器的时候,请求会自动判断此域名下是否存在 Cookie 信息,
如果存在自动将 Cookie 信息也发送给服务端,服务端会从 Cookie 中获取 SessionID,
再根据 SessionID 查找对应的 Session 信息,如果没有找到说明用户没有登录或者登录失效
,如果找到 Session 证明用户已经登录可执行后面操作。