Cookie:浏览器端的会话技术
- 作用:将会话中产生的数据存放在浏览器端
- 浏览器访问服务器时,服务器生成cookie(键值对形式),通过响应(响应头 set-cookie)返回给浏览器,cookie保存在浏览器上.
- 下次访问服务器的时候,根据一定的规则携带不同的cookie
将cookie装在请求头中带到服务器上 - 注意事项
- cookie不能跨浏览器
- cookie中不能放中文
Session:服务器端的会话技术
作用:
- 在服务器上存放一次会话中的数据
- 浏览器访问服务器时,服务器会获取浏览器的数据,判断浏览器是否携带了sessionID
- 如果没带:
如果没带,且想使用session,需要先创建session(服务器端的内存空间,由服务器创建),这样以来就可以使用这个session了,使用完毕后将sessionID返回给浏览器,由浏览器保存sessionID(依赖Cookie) - 如果带了:
如果带了,服务器要先获取sessionID,根据sessionID找到这个session- 没找到:
想使用session,需要先创建session(服务器端的内存空间,由服务器创建),这样以来就可以使用这个session了,使用完毕后将sessionID返回给浏览器,由浏览器保存sessionID(依赖Cookie) - 找到
直接操作session
- 没找到:
- 如果没带:
Session
- 生命周期
- 创建:调用request.getSession()时
- 销毁:
- 服务器非正常关闭
- Session超时
- 手动销毁
- 调用invalidate方法
- 作用范围:一次会话
- 作用:存放私有的数据