发布时间:2021-09-24 08:32:14 人气:432 作者:admin
Python培训-Cookie和Session有什么区别?
一、存取方式不同
cookie 中只能存储 ASCII 字符串。 如果需要访问 Unicode 字符或二进制数据,则需要先对它们进行编码。 不能直接访问 cookie 中的 Java 对象。 如果想存储稍微复杂的信息,则使用 cookie 会更加困难。
Session 可以访问任何类型的数据,包括但不限于字符串、整数、列表、Map 等。JavaBeans 甚至任何 Java 类、对象等也可以直接存储在 session 中,使用起来非常方便。
二、不同的隐私政策
Cookie 存储在客户端的阅读器中,并且对客户端可见。 客户端的某些程序可能会窥探、复制甚至修改cookie 中的内容。 会话存储在服务器上,对客户端透明,不存在敏感信息泄露的风险。
三、有效期不同
用过谷歌的人都知道,如果你曾经登录过谷歌,谷歌的登录信息是长期有效的。 用户无需每次访问都重新登录,谷歌会持久记录用户的登录信息。 为了达到这个效果,使用cookies将是一个更好的选择。 您只需要将 cookie 过期时间属性设置为一个非常大的数字。
由于Session依赖于名为JSESSIONID的cookie,并且Cookie JSESSIONID的过期时间默认为-1,因此只要读者关闭,Session就会失效,因此Session无法完成永久有效信息的结果。
四、服务器压力不同
Session 保存在服务器端,每个用户生成一个 Session。 如果有大量并发用户,会产生大量会话,消耗大量内存。 因此,谷歌、百度、新浪等并发访问量极高的网站不太可能使用Session来跟踪客户会话。
Cookie 保存在客户端,不占用服务器资源。 如果有很多用户同时阅读,Cookie 是一个不错的选择。
五、浏览器支持不同
客户端浏览器支持 Cookie。 如果客户端禁用 cookie,或不支持 cookie,会话跟踪将无效。 对于 Wap 上的应用程序,常规 cookie 没有用。
如果客户端浏览器不支持 cookie,则需要使用 Session 和 URL 地址重写。 需要注意的是,所有使用Session程序的URL都必须重写URL地址,否则Session会话跟踪将失效。
六、跨域支持不同
Cookie支持跨域访问,而Session不支持跨域访问。 session只在他所在的域名内有效。
以上是关于Python培训中Cookie和Session之间的区别介绍,由多测师亲自撰写。https://www.e70w.com/