什么是一次对话?其实很简单,从我们打开浏览器,浏览过各种各样的网页后,最后到关闭浏览器,这中间的整个过程就叫做一次对话。
说到会话,自然而然地就谈到了cookie和session,想要深入了解他俩,不得不了解他俩的工作原理。
cookie的工作原理:
作用于客户端技术,是服务器发送给浏览器的一段文本,一个cookie只能标识一中信息,至少有一个信息的名称和值。当浏览器再次发出请求时,会将cookie以请求头的方式发送给服务器,服务器接受后发现两次cookie一样,就以为是同一个用户。
Cookie两种方式:
1.存在在客服端缓存中,浏览器已关闭cookie就消失
2.存在在客服端的文件中,可以设置过期时间,过期时间一到就消失,但要删除某个cookie,首要必须保证cookie名称和值一致,路径也要一致,再把过期时间设置为0即可
//取得cookie Cookie cookies[]=request.getCookies(); for(int i=0;cookies!=null&&i<cookies.length;i++){ if(cookies[i].getName().equals()){ } } //给浏览器回送cookie Cookie cookie = new Cookie(“cookie名称”,“cookie的值”); cookie.setMaxAge(30*24*3600);//设置过期时间 cookie.setPath("/day03");//设置cookie的路径 response.addCookie(cookie);//用response把cookie发送出去
sessoin的工作原理:
1.浏览器发送请求,服务器调用request.getsession(),产生一个session对象,同时给session对象分配一个sessionid,以session对象为值,sessionId为键。
2.服务器发生响应时,将sessionid用cookie发送给浏览器
3.当浏览器再次发送请求,会将带着sessionid的cookie发送给服务器,服务器根据cookie带来的sessionid找到对应的session对象,从而取得session中的内容
session的销毁:
默认情况下,30分钟没人用自动销毁,不管浏览器打开的还是关闭的。
发现错误,谢谢提醒,增强你我实力!
原文地址:http://269292440.blog.51cto.com/9982649/1622006