Cookie、session
会话
会话:用户打开一个浏览器,点开了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话
有状态会话:一个同学来过教室,下次再来教室我们会知道这个同学,曾经来过
你能怎么证明你是学校的学生?
你 学校
1 发票 学校给我发票
2 学校登记 学校标记我来过了
一个网站,怎么证明你来过了?
客户端 服务端
1. 服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了;cookie
2. 服务器登记你来过了,下次你来的时候我来匹配你;session
保存会话的两种技术
cookie * 客户端技术(响应,请求) session * 服务器技术,利用这个技术,可以保存用户的会话信息?我们可以吧信息或者数据放在session中。
常见问题:网站登陆之后,你下次不用登陆了,第二次登陆直接就上去了
Cookie
1.请求中拿到Cookie信息
2.服务器响应客户端cookie
Cookie[] cookie = req.getCookies(); cookie.getName();//获得Cookie中的key cookie.getvalue();//获得cookie中的value值 new Cookie("time",System.currentTimeMillis()+"");//新建一个cookie cookie.setMaxAge(24*60*60);//设置cookie的有效值 resp.addCookie(cookie)//响应给客户端
cookie:一般会保存在本地的用户目录下appdata;
一个网站cookie是否存在上限 细节
- 一个Cookie只能保存一个信息;
- 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;
- Cookie大小有限制4kb、
- 300个cookie浏览器上限
删除Cookie:
* 不设置有效期,关闭浏览器,自动失效
* 设置有效期为0
*