Cookie与Session的简单讨论
2016-03-06 23:06
302 查看
因为之前几篇文章都在写Cookie,当我们在讨论Cookie的同时自然会联想到与Cookie类似的另一个概念就是会话(Session),会话一般是记录客户端和服务器端从客户端浏览器连接上服务器端到关闭浏览器期间的持久信息,也称作为服务器端存储状态数据。会话一般保存在内存中,不保存到磁盘上。会话可以通过Cookie机制来实现,对于不支持Cookie的客户端,会话可以采用URL重写方式来实现。可以将会话理解为内存中的Cookie。
使用会话会对系统伸缩性造成负面影响,当服务器端要在很多台服务器上同步复制会话对象时,系统性能会受到较大伤害,尤其会话对象较大时。这种情况下可以采用Cookie,将需要记录的信息保存在客户端,每次请求时发送到服务器端,服务器端不保留状态信息,避免在服务器端多台机器上复制会话而造成的性能下降。
下面介绍Cookie和Session主要区别的比较结果:
(1)Cookie数据存放在客户的浏览器上,Session数据存放在服务器上;
(2)Cookie不是很安全,别人可以分析存放在本地的Cookie进而进行Cookie欺骗等破坏,相对而言,Session会更安全,因此在涉及安全的应用中应尽量选择Session;
(3)Session会在一定时间内保存在服务器上,当访问增多时,它会占用服务器的性能,若开发者考虑服务器性能时,应当使用Cookie;
(4)单个Cookie在客户端的大小限制是4KB,而Session没有大小限制。
使用会话会对系统伸缩性造成负面影响,当服务器端要在很多台服务器上同步复制会话对象时,系统性能会受到较大伤害,尤其会话对象较大时。这种情况下可以采用Cookie,将需要记录的信息保存在客户端,每次请求时发送到服务器端,服务器端不保留状态信息,避免在服务器端多台机器上复制会话而造成的性能下降。
下面介绍Cookie和Session主要区别的比较结果:
(1)Cookie数据存放在客户的浏览器上,Session数据存放在服务器上;
(2)Cookie不是很安全,别人可以分析存放在本地的Cookie进而进行Cookie欺骗等破坏,相对而言,Session会更安全,因此在涉及安全的应用中应尽量选择Session;
(3)Session会在一定时间内保存在服务器上,当访问增多时,它会占用服务器的性能,若开发者考虑服务器性能时,应当使用Cookie;
(4)单个Cookie在客户端的大小限制是4KB,而Session没有大小限制。
相关文章推荐
- iOS音频播放(三):AudioFileStream
- 软件测试作业1--描述Error
- Ubuntu 14.04安装教程
- 面经阅读
- 同一台电脑设置多个公钥与不同GITHUB帐号交互
- 严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
- Missing mac app distribution signing identity
- C#编程实现连接ACCESS数据库实例详解
- 数据结构之一元多项式相加
- EFI基本概念之Event
- 【转载】聚类算法小结
- 十种常见的排序算法总结(java版)
- java 泛型的理解(一)
- 深入浅出看流媒体前世今生,分分钟二逼变牛逼
- 学习java的一点心得(二)
- spring配置整理
- 抽象类和接口
- HDU 4790 容斥原理 + 数学分析
- c++中的顺序表写法,主要实现(增删查改,构造函数,运算符重载)
- java动态代理详解