cookie和session的区别,简单理解
来源:互联网 发布:java加大数据 编辑:程序博客网 时间:2024/06/06 11:48
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
Cookie的优缺点:
优点:极高的扩展性和可用性
通过良好的编程,控制保存在cookie中的session对象的大小。
通过加密和安全传输技术(SSL),减少cookie被破解的可能性。
只在cookie中存放不敏感数据,即使被盗也不会有重大损失。
控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。
缺点:
Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。
有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。
Session的优缺点:
优点
如果要在诸多Web页间传递一个变量,那么用Session变量要比通过QueryString传递变量可使问题简化。
要使WEb站点具有用户化,可以考虑使用Session变量。你的站点的每位访问者都有用户化的经验,基于此,随着LDAP和诸如MS Site
Server等的使用,已不必再将所有用户化过程置入Session变量了,而这个用户化是取决于用户喜好的。
你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放。
缺点
Session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个Session变量!
当一个用户访问某页面时,每个Session变量的运行环境便自动生成,这些Session变量可在用户离开该页面后仍保留20分钟!(事实上,这些变量一直可保留至“timeout”。“timeout”的时间长短由Web服务器管理员设定。一些站点上的变量仅维持了3分钟,一些则为10分钟,还有一些则保留至默认值20分钟。)所以,如果在Session中置入了较大的对象(如ADO
recordsets,connections, 等等),那就有麻烦了!随着站点访问量的增大,服务器将会因此而无法正常运行!
因为创建Session变量有很大的随意性,可随时调用,不需要开发者做精确地处理,所以,过度使用session变量将会导致代码不可读而且不好维护。
虽然“你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放”。但是,“谁”想到那儿呢?变量的含义是什么?这些都变得不很清晰。
转载于百度知道回答https://zhidao.baidu.com/question/557112227.html
0 0
- cookie和session的区别,简单理解
- 关于session和cookie的简单理解
- 简单的理解session 和 cookie
- session和cookie的区别简单整理
- 关于cookie和session简单粗暴的感性理解
- 理解cookie和session机制之间的区别与联系
- session和cookie的理解
- session和cookie的理解
- Cookie和Session的理解
- cookie和session的理解
- session和cookie的理解:
- cookie和session的理解
- cookie和session的区别
- Cookie 和session的区别
- session和cookie的区别
- cookie和session的区别
- Cookie和session的区别
- Cookie和Session的区别
- Loadrunner接口测试基本操作方法
- Google Analytics单页面应用url地址无法监听解决方案
- java中StringTokenizer类简读
- DNS服务配置
- [转载]C#索引器
- cookie和session的区别,简单理解
- 图书馆态势感知模型
- VS2010编译是出现mt.exe找不到的解决方案
- 蓝桥杯 ALGO-150 算法训练 6-1 递归求二项式系数值
- Pie HDU - 1969
- iOSCALayer简介
- 多文件修改编码
- tensorflow data reading (2)
- UnityWebPlayer打开文件