zoukankan      html  css  js  c++  java
  • Session与Cookie的比较

    前言:javaweb整合开发第五章学习笔记,只是为了加深自己的学习效果。
     
    1.从存取方式上比较
    Cookie中只能保存ASCII字符串,如果需要存取Unicode字符或者二进制数据,需要进行UTF-8等方式编码,Cookie中不能直接存取Java对象。Session可以存取任意类型的数据,Session可以看成一个容器。
    2从隐私安全上比较
    Cookie存储在客户端浏览器中,对客户端是可见的,敏感信息需要加密,Session存储在服务器上,对客户端是透明的。
    3从有效期比较
    Cookie信息可以长期有效,Session理论上也能实现这效果,但是Session依赖于名为JESSIONID的Cookie,而Cookie JSESSIONID的maxAge默认为-1,只要关闭了浏览器Session就会失效,因此Session不能实现信息永久有效的效果。Session超时时间过长,容易导致服务器内存溢出。
    4从对服务器的负担上比较
    Session保存在服务器端,每个用户都可以产生一个Session,Cookie保存在客户端,不占用服务器资源。
    5从浏览器支持上比较
    Cookie是需要客户端浏览器支持的。如果客户端禁用了Cookie,或者不支持Cookie,则会话跟踪会失效。对于WAP上的应用,常规的Cookie就派不上应用了。
    Session以及URL地址重写可以跟踪会话,所有用到Session程序的URL都要使用response.encodeURL(string URL)或者response。encodeRedirectURL(string URL)进行URL重写,否则导致Session会话追踪失败。
    如果客户端支持Cookie,则Cookie既可以设为本浏览器以及子窗口内有效(maxAge设为-1),也可以设为所有浏览器窗口内有效(把maxAge设为某个大于0的整数)但Session只能在本浏览器窗口以及其子窗口内有效。
    6从跨越域名上比较
    Cookie支持跨域名访问,Session不支持,只在他所在的域名内有效。
  • 相关阅读:
    【转】xcode的模拟器位置
    [汇] 立即寻址,直接寻址,间接寻址
    [汇] iOS Crash相关(2)
    [转] time profile 使用详解
    [汇] iOS Crash相关(1)
    [转] Xcode 高级调试技巧
    [汇] iOS高级调试汇总
    [转]iOS动画专题·UIView二维形变动画与CAAnimation核心动画(transform动画,基础,关键帧,组动画,路径动画,贝塞尔曲线)
    [SVN]TortoiseSVN工具培训1─为什么要用SVN?
    团队管理_第一期干部训练营心得
  • 原文地址:https://www.cnblogs.com/CaiBaoZi/p/3100856.html
Copyright © 2011-2022 走看看