session和cookie的区别,session详情

问题1)cookie的不足,为什么会有session?
1)cookie会话,只能发送字符串。(很多时候我们需要传递对象。)
2)一个Cookie最大是4kb
3)Cookie数据内容只能是英文。

问题2)session的工作原理和cookie的对比?
1,Cookie是将数据发送到浏览器保存。
Session会话数据保存在服务器,浏览器发送jsessionid到服务器,获得数据。
2,Session技术用到了cookie技术。
(session比cookie只是多了一个步骤,session中用cookie存储的是id,而不是实际数据)

问题3)session的对象创建过程?
HttpSession session = request.getSession();
1)第一次访问创建session对象,给session对象分配一个唯一的ID,叫JSESSIONID
new HttpSession();
2)把JSESSIONID作为Cookie的值发送给浏览器保存
Cookie cookie = new Cookie(“JSESSIONID”, sessionID);
response.addCookie(cookie);
3)浏览器带着JSESSIONID的cookie访问服务器
4)服务器得到JSESSIONID,在服务器的内存中搜索是否存放对应编号的session对象。
if(找到){
return map.get(sessionID);
}
Map

猜你喜欢

转载自blog.csdn.net/newVenues/article/details/70256887