什么是Session?
服务器为了保存用户状态而创建的一个特殊的对象。
当浏览器第一次访问服务器时,服务器创建一个session对象(该对象有一个唯一的id,一般称之为sessionId),服务器会将sessionId以cookie的方式发送给浏览器。当浏览器再次访问服务器时,会将sessionId发送过来,服务器依据sessionId就可以找到对应的session对象。
在 无连接(HTTP)协议基础之上实现在用户状态管理。
详见:https://www.cnblogs.com/dylan402/p/10395826.html
cookie是什么?
cookie翻译过来是“饼干,甜品”的意思,cookie在网络应用中到处存在,当我们浏览之前访问过的网站,网页中可能会显示:你好,王三少,这就会让我们感觉很亲切,像吃了一块很甜的饼干一样。
详见:https://www.cnblogs.com/zhuanzhuanfe/p/8010854.html
什么时候会用到cookie,session?它们的区别分别是什么?
Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
- session 在服务器端,cookie 在客户端(浏览器)
- session 默认被存在服务器的一个文件里(不是内存)
- session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
- session 可以放在 文件、数据库、或内存中都可以。
- 用户验证这种场合一般会用 session。因此,维持一个会话的核心就是客户端的唯一标识,即 session id