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只在他所在的域名内有效。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!