首先,我们要了解下查cookie和session的定义。
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。它是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息
Session是服务器端使用的一种记录客户端状态的机制。
无状态性与cookie、session
两者都是用来记录客户端状态,不同的是cookie保存在客户端,而session只在服务端上。
因此安全性上session比cookie要好,因为cookie可能会被从客户端中取出分析修改。但session不适用于保存大量数据,这样会造成服务器的存储压力。
session是基于cookie存在的。session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)