Cookie和Session会话技术详解
为什么使用cookie和session共享数据
因为HTTP是无状态的,无论访问某个网站多少次对服务器来说都是没有去别的,每次请求之间互相独立,不能共享数据,必须使用cookie和session共享数据
servletContext是全局共享,在验证码使用上很可能会造成一个用户还没提交另一个用户出现同样的验证码,造成验证码不可用
会话技术:打开浏览器到关闭浏览器之间所做的一些列请求
会话技术:在一次会话的多次请求之间共享数据
Cookie:自动携带数据
- 以文本格式存储在浏览器中,
- 数据大小限制在4kb
- 用户信息存储在浏览器中,任何人都可以查看
Session会话技术
- 以json形式存储在服务器内存中
- 数据大小没有限制
- 数据相对安全
Session原理
- session被用于表示一个持续的连接状态,表示一个访问的过程
- session常见表现形式是会话cookie,如果不设置cookie存存活时间默认为浏览器关闭时消失。
- session实现机制是当用户发起一个请求的时候,服务器会检查请求中是否包含sessionid,如果未包含这会创建一个cookie(JSESSIONID)返回给浏览器(只放入内中,不存在硬盘中),并将其以json的形式写到服务器内存中。
- sessionid始终是由服务器端创建,并非浏览器自己生成