一.
cookie和session的基础知识
1.什么是Cookie 和Session
Cookie:一种会话技术(客户端和服务器连续的发生的一系列请求和响应,关闭浏览器会话关闭),把会话过程中的数据存在用户浏览器之中。
Session:一种将会话数据保存在服务器中的技术,Session 的实现依赖于 Cookie,如果 Cookie 被禁用,那么 session 也将失效。
常用方法:
Cookie: new Cookie(name,value)
getName(),getValue(),setValue(),setMaxAge() 名称,值保持的有效秒数
演示:
//获取所有的Cookie
Cookie [] cookies=request.getCookies();
//创建Cookie
Cookie cookie=new Cookie(name,value);
//发送Cookie
response.addCookie(cookie);
Cookie应用:
- 状态信息的记录如登录状态,购物车
- 个性化设置
- Http是无状态的,跟踪浏览器用户身份
Session:setAttribute(),getAttribute()removeAttribute() 和其他一些获取创建时间的方法,
invalidate()强制使Session无效
Session的超时管理:随着时间推移,Session在服务器中越积越多,占内存,用超时限制解决。
Tomcat默认30分钟,可以在web.xml中修改
<session-config>
<session-timeout>330</session-timeout>
</session-config>
常见面试题
- Session和Cookie的区别:
作用范围:Session 服务器,Cookie浏览器
存储大小:Session 比较大 Cookie 4K
存储类型:Cookie 只能保存 ASCII,Session 可以存任意数据类型
安全性:Session更安全 - 、禁用cookie后如何保障整个机制的正常运转?
- 为什么需要cookie和session?
- 客户端访问服务器的流程如下:
- 详述 session 工作原理:
- 为什么说session 比cookie更安全?