目录
1.什么是会话跟踪技术
客户端与服务器会话的开始与结束 ,在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。
在一个会话的多个请求中共享数据,这就是会话跟踪技术。
2.会话路径技术使用Cookie或session完成
我们知道HTTP协议是无状态协议,也就是说每个请求都是独立的!无法记录前一次请求的状态。但HTTP协议中可以使用Cookie来完成会话跟踪!
在JavaWeb中,使用session来完成会话跟踪,session底层依赖Cookie技术。
3.Cookie
3.1 Cookie概述
特征: cookie在服务器端创建的, 保存在客户端浏览器上, cookie存储数据的结构: key/value
随着响应对象,保存到客户端浏览器上. 当后面请求, 浏览器把cookie带回到服务器, 通过请求头, cookie加请求头上
Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端浏览器会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了!
3.2Cookie规范:
Cookie大小上限为4KB;
一个服务器最多在客户端浏览器上保存20个Cookie;
一个浏览器最多保存300个Cookie;
(cookie不能跨浏览器, Chrome浏览器存放的cookie, 不能在IE浏览器使用)
3.3Cookie的使用:
cookie存:
//在服务器创建
Cookie cookie = new Cookie("name","zhangsan");
//保存到客户端, 通过响应
response.addCookie(cookie);
cookie取:
//获取cookie 获取服务器存放在客户端所有cookie
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0){
for (Cookie cookie: cookies){
//获取name ,value
// String value = cookie.getValue();
String key = cookie.getName();
if("name".equals(key)){
String value = cookie.getValue();
System.out.println("key:"+ke