对cookie技术、session技术的简单总结,以及对比
2012-11-08 20:41
316 查看
Cookie小结
① Cookie在服务端创建 Cookie cookie = new Cookie(name,value);
② Cookie是保存在浏览器这端 response.addCookie(cookie);
③ Cookie的生命周期可以通过cookie.setMaxAge(int second)来设置 Cookie默认生命周期是会话级别(即存储在浏览器的内存中) 如果没有设置setMaxAge()则该cookie的生命周期当浏览器关闭时就挂了,setMaxAge(0) +response.addCookie(cookie),相当于删除Cookie 此时如果cookie文件内部只有该Cookie则,文件也一并删除;否则只删除该Cookie
④ Cookie可以被多个浏览器共享
⑤ 一个web应用可以保存多个cookie(放置在同一个文件内部) ,最多不要超过20个,每个Cookie的大小限制为4kB,因此Cookie不会塞满你的硬盘更不会被作为"拒绝服务"的攻击手段。浏览器一般保存的Cookie不会超过300个
⑥ Cookie存放中文,出现的乱码问题 存放String val = java.net.URLEncoder.encode("中文名称","utf-8"); Cookie cookie = new Cookie("name","val"); 读出 String val = java.net.URLDecoder.decode
(cookie.getValue("name"),"utf-8"); out.println("name="+val)
session小结:
① Session是存放在服务器的内存中
② 一个用户浏览器,独享一个session域对象
③ Session中的属性的默认生命周期是30min,可以通过web.xml来修改
④ Session中可以存放多个属性(包括对象)
⑤ 如果session.setAttribute(name,value);中name相同,则会替换掉。
Session VS Cookie :
1.存储位置不同: Cookie存在在客户端(临时文件夹) Session存在服务器内存中,一个session域对象为一个用户浏览器服务
2.安全性: Cookie以明文方式存放在客户端,安全较弱,可以通过MD5加密算法在存放 Session存放在服务器端内存中,所以安全性较好
3.网络传输量: Cookie会传递信息给服务器 Session的属性值不会给客户端
4.生命周期: Cookie的声明周期是累计时间 Session的生命周期是访问session的间隔时间,在一些情况下session也会失效关闭tomcat,reload web应用,时间到,调用invalidate()[安全退出]
5.从访问范围 :Session为一个浏览器独享 Cookie为多个用户浏览器共享 因为session会占用服务器的内存,因此不要向session存放过多、过大的对象,会影响性能。
① Cookie在服务端创建 Cookie cookie = new Cookie(name,value);
② Cookie是保存在浏览器这端 response.addCookie(cookie);
③ Cookie的生命周期可以通过cookie.setMaxAge(int second)来设置 Cookie默认生命周期是会话级别(即存储在浏览器的内存中) 如果没有设置setMaxAge()则该cookie的生命周期当浏览器关闭时就挂了,setMaxAge(0) +response.addCookie(cookie),相当于删除Cookie 此时如果cookie文件内部只有该Cookie则,文件也一并删除;否则只删除该Cookie
④ Cookie可以被多个浏览器共享
⑤ 一个web应用可以保存多个cookie(放置在同一个文件内部) ,最多不要超过20个,每个Cookie的大小限制为4kB,因此Cookie不会塞满你的硬盘更不会被作为"拒绝服务"的攻击手段。浏览器一般保存的Cookie不会超过300个
⑥ Cookie存放中文,出现的乱码问题 存放String val = java.net.URLEncoder.encode("中文名称","utf-8"); Cookie cookie = new Cookie("name","val"); 读出 String val = java.net.URLDecoder.decode
(cookie.getValue("name"),"utf-8"); out.println("name="+val)
session小结:
① Session是存放在服务器的内存中
② 一个用户浏览器,独享一个session域对象
③ Session中的属性的默认生命周期是30min,可以通过web.xml来修改
④ Session中可以存放多个属性(包括对象)
⑤ 如果session.setAttribute(name,value);中name相同,则会替换掉。
Session VS Cookie :
1.存储位置不同: Cookie存在在客户端(临时文件夹) Session存在服务器内存中,一个session域对象为一个用户浏览器服务
2.安全性: Cookie以明文方式存放在客户端,安全较弱,可以通过MD5加密算法在存放 Session存放在服务器端内存中,所以安全性较好
3.网络传输量: Cookie会传递信息给服务器 Session的属性值不会给客户端
4.生命周期: Cookie的声明周期是累计时间 Session的生命周期是访问session的间隔时间,在一些情况下session也会失效关闭tomcat,reload web应用,时间到,调用invalidate()[安全退出]
5.从访问范围 :Session为一个浏览器独享 Cookie为多个用户浏览器共享 因为session会占用服务器的内存,因此不要向session存放过多、过大的对象,会影响性能。
相关文章推荐
- Servlet自学第27讲:Session与Cookie对比总结
- Cookie , Session ,Session 劫持简单总结
- session和cookie介绍以及session简单应用
- 为什么会有session和cookie以及简单使用
- ASP.NET MVC5总结(三)登陆中常用技术解析之session与cookie
- Cookie&Session会话技术&Servlet三个作用域总结
- js本地储存Cookie和Session简单对比
- 投票系统开发总结struts2,jfreechart,cookie应用,以及前端技术
- session与cookie技术应用(附详细代码示例以及注释)
- 会话管理之Cookie技术+Session技术
- cookie/session总结
- session与cookie的区别以及配置
- ServletContext,cookie,session的一些总结
- 为什么说session依赖cookie,以及cookie的常用知识
- JavaScript学习 - Http报文简单解析及session和cookie的使用
- 线程池技术个人理解以及c语言的简单实现
- AVS 和 H.264 核心技术对比总结
- session和Cookie总结
- get,post,cookie,session,localStorage,sessionStorage等数据传输和缓存技术
- Session 与 Cookie--- 深入分析 Java Web 技术内幕,第 10 章