什么是Cookie :
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除 。
什么是Session:
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。
使用场景:
登录一个页面,可以看成授权和鉴权的过程。 用户输入账号和密码点击登录时,向服务器发送了HTTP请求,服务器接收请求信息,校验账号和密码(鉴权),校验失败返回错误信息,校验成功设置cookie信息,将session保存到服务器缓存中,将sessionid保存在cookie中返回(授权)。
需要访问需要登录才能进入的页面,客户端发送HTTP请求到服务器,请求信息中带有cookie信息,服务器校验cookie中的sessionid,校验成功则返回该sessionid相对应的页面,校验失败(过期)返回错误提示。
有些接口使用的是token,和cookie+session的原理一样