你的位置:首页 > 软件开发 > Java > HTTP Cookie/Session

HTTP Cookie/Session

发布时间:2016-07-01 17:00:04
一、HTTP协议HTTP协议是一个无状态协议,服务器无法判断若干个请求是否来自同一个浏览器,无法与浏览器进行会话。二、HTTP会话控制:CookieCookie技术是使用在浏览器端的一种缓存技术,在浏览器第一次向服务器发出请求,在服务器端会创建Cookie对象,并以键值对的形式在 ...

一、HTTP协议

HTTP协议是一个无状态协议,服务器无法判断若干个请求是否来自同一个浏览器,无法与浏览器进行会话。

二、HTTP会话控制:Cookie

Cookie技术是使用在浏览器端的一种缓存技术,

在浏览器第一次向服务器发出请求,在服务器端会创建Cookie对象,并以键值对的形式在响应头中返回。下一次向服务器发送请求时,会在请求头中将Cookie信息携带。

1.Cookie的创建与返回

在服务器端通过 new Cookie(key, value)的方式创建。

并以response.addCookie(cookie)的方式返回给浏览器。

(2)Cookie的获取

在服务器端通过request.getCookies()方法获取,得到一个Cookie数组

如果Cookie数组不包含Cookie,则Cookie数组为null。

(3)Cookie的时效(setMaxAge(seconds))

会话级:保存在浏览器运行过程内存中,浏览器一关闭,Cookie就失效。(seconds为负数),默认。

持久化:保存在本地文件系统中,保存(seconds)长。(seconds为正数)。

(4)删除Cookie

setMaxAge(0)

三、HTTP会话控制:Session

Session技术是使用在服务器端的一种缓存技术,但是它依赖于Cookie。

1.浏览器请求信息中不包含JSESSIONID的Cookie

服务器端会通过getSession来创建一个Session对象。

创建一个name值为JSESSIONID的Cookie返回给浏览器

2.请求信息中包含JSESSIONID的Cookie

根据JSESSIONID的值,在服务器端查找已经存在的Session对象

①若能找到,则返回找到的Session对象(Session对象以键值对的形式保存在服务器端)

②若找不到,则创建一个Session对象,并返回JSESSIONID的Cookie(包含伪造JSESSIONID的情况)

3.Session对象持久化

HttpSession session = request.getSession();String id = session.getId();Cookie cookie = new Cookie("JSESSIONID", id);cookie.setMaxAge(30);response.addCookie(cookie);

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:HTTP Cookie/Session

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。