pythonCookie和Session有什么区别?
一、存取方式不同
cookie中只能存储ASCII字符串。如果需要访问Unicode字符或二进制数据,则需要先对它们进行编码。不能直接访问cookie中的Java对象。如果想存储稍微复杂的信息,则使用cookie会更加困难。
Session可以访问任何类型的数据,包括但不限于字符串、整数、列表、Map等。JavaBeans甚至任何Java类、对象等也可以直接存储在session中,使用起来非常方便。
二、不同的隐私政策
Cookie存储在客户端的阅读器中,并且对客户端可见。客户端的某些程序可能会窥探、复制甚至修改cookie中的内容。会话存储在服务器上,对客户端透明,不存在敏感信息泄露的风险。
三、有效期不同
用过谷歌的人都知道,如果你曾经登录过谷歌,谷歌的登录信息是长期有效的。用户无需每次访问都重新登录,谷歌会持久记录用户的登录信息。为了达到这个效果,使用cookies将是一个更好的选择。您只需要将cookie过期时间属性设置为一个非常大的数字。
由于Session依赖于名为JSESSIONID的cookie,并且CookieJSESSIONID的过期时间默认为-1,因此只要读者关闭,Session就会失效,因此Session无法完成永久有效信息的结果。
四、服务器压力不同
Session保存在服务器端,每个用户生成一个Session。如果有大量并发用户,会产生大量会话,消耗大量内存。因此,谷歌、百度、新浪等并发访问量极高的网站不太可能使用Session来跟踪客户会话。
Cookie保存在客户端,不占用服务器资源。如果有很多用户同时阅读,Cookie是一个不错的选择。
五、浏览器支持不同
客户端浏览器支持Cookie。如果客户端禁用cookie,或不支持cookie,会话跟踪将无效。对于Wap上的应用程序,常规cookie没有用。
如果客户端浏览器不支持cookie,则需要使用Session和URL地址重写。需要注意的是,所有使用Session程序的URL都必须重写URL地址,否则Session会话跟踪将失效。
六、跨域支持不同
Cookie支持跨域访问,而Session不支持跨域访问。session只在他所在的域名内有效。
相关推荐HOT
更多>>python之注意变量的命名规则和建议
python变量名的命名规则和建议如下所示。"变量名可以包括字母、数字、下划线,但是不能用数字作为开头。例如name1是合法变量名,而1name则不可...详情>>
2023-11-06 23:38:43Python整除符号
python整除运算符可以作用于两个整数或实数,计算结果是带小数的商向下取整(或着说是在数轴上向左取整)之后的结果。如果两个操作数都是整数,得...详情>>
2023-11-06 20:48:29python中单行注释以什么开头
学会向程序中添加必要的注释,也是很重要的。注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功能),在必要时,还可以将代...详情>>
2023-11-06 19:21:29十大常见Python面试题及答案
学完Python找工作期间,肯定会涉及到各种各样的面试题,本文小编为大家总结十个Python中最常见的面试问题,希望能够帮助到大家。一、Python的主...详情>>
2023-11-06 15:07:01