session
会话,指有始有终的一系统动作/消息
实际场景
在web中,session对象用来存储特定用户session所需的熟悉和配置信息,这样用户在应用程序的web页之间跳转时,存储在session对象中的变量将不会丢失,而是在整个用户session中存在下去
当用户请求网页时,该用户还没有session,则web服务器将自动创建一个session对象
当session过期或被放弃后,服务器将终止该session
session与cookie的区别:
1、作用范围不同:
cookie保存在客户端(浏览器)
session保存在服务器端
2、存取方式不同:
cookie只能保存ASCII
session可以存取任意数据类型,一般情况下我们可以在session中保持一些常用变量信息,如userID
3、有效期不同:
cookie可设置为长时间保持,比如我们使用默认登陆功能
session一般失效时间较短,客户端关闭或者session超时都会失效
注:并不是只要关闭浏览器,session就消失了,一般情况下是用户【退出】登陆或session有效期过了,才会触发浏览器删除session。
1、一般情况下,网站都会用cookie来保存sessionID信息的
2、当你的cookie是会话cookie时,关闭浏览器cookie就会消失
3、再次打开网站也找不回之前的那个cookie对应的sessionID
4、所以无法通过原来的sessionID在服务器查找对应用户的登陆状态,只能重新登陆生成新的cookie来记录新的sessionID
会话cookie和持久cookie
会话cookie:
有效期短,仅在浏览器打开期间,存放在浏览器内存里,当浏览器关闭,就会释放这个cookie的内存
持久cookie:
有效期长,不受浏览器关闭影响,下次再次访问网站时还能继续使用,由于长久保持用户登陆状态
如【自动登陆】、【30天内自动登陆】