生活中,我们需要去网购东西或者登陆网站的时候, 往往会发现, 有的网站登陆以后,紧接着打开一个新标签页去访问这个网站,是不用登陆的, 或是打开同个网站的多个标签页, 都是无须登陆的 , 但是换个浏览器去访问就会让你重新登陆, 或是登陆完过了很久再去浏览这个网站会提示你页面已过期请重新登陆 , 这 就跟我们的Session和Cookie有关系了

Session

什么是session?

session是服务器为了保存用户状态而创建的一个特殊的对象。
简单来说 session就是一次会话, 浏览器去访问页面的时候, 会话就开始了, 关闭浏览器的时候, 会话就结束了,只要执行了一次会话,在过期时间内, 访问这个页面都是无须登陆的

当浏览器第一次访问服务器时,服务器创建一个session对象(该对象有一个唯一的id,一般称之为sessionId),服务器会将sessionId以cookie的方式发送给浏览器。
当浏览器再次访问服务器时,会将sessionId发送过来,服务器依据sessionId就可以找到对应的session对象。从而判定是一次会话还是多次会话

Cookie

cookie是存在客户端记录客户端信息的
浏览器访问服务器时,服务器将少量数据以set-cookie消息头的方式发送给浏览器;浏览器会将这些数据临时保存下来,当浏览器再次访问服务器时,会将这些数据以cookie消息头的方式发送给服务器。
默认情况下,浏览器会将cookie保存在内存里面,浏览器不关闭,cookie一直在),可以调用 cookie.setMaxAge(int seconds)方法来设置cookie的生存时间。

security中的session过期 session已过期是什么意思_cookie

总结两者区别:
1.session是存储在服务端的,Cookie是存储在客户端

2.session数据安全,Cookie数据不安全

3.session效率较低,Cookie效率相对较高