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只在他所在的域名内有效。
猜你喜欢LIKE
相关推荐HOT
更多>>Python在智能化运维中的运用
在传统信息化运维系统当中,最核心的组成部分主要包括系统运行监控、呼叫中心、运维团队等等,在过去这些核心组成部分是可以有效地完成信息系统...详情>>
2023-11-11 21:31:20使用Black自由格式化Python
Python是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如Web编程、业务应用、游戏、科学编程等等),它有一个充满活力...详情>>
2023-11-11 20:18:22Python内存管理机制之Pymalloc
PymallocPython实现了一个内存池(memorypool)机制,使用Pymalloc对小块内存(小于等于256kb)进行申请和释放管理。当Python频繁地创建和销毁一些...详情>>
2023-11-11 19:07:03Python 参数知识
过量的参数在运行时知道一个函数有什么参数,通常是不可能的。另一个情况是一个函数能操作很多对象。更有甚者,调用自身的函数变成一种api提供...详情>>
2023-11-11 17:33:53