Session和cookie的比较

之前介绍了cookie和session,那么今天就把它们对比一下。相同点他们都可以保存用户信息,但是原理不一样,一下从几个方面分别介绍。

存取方式:

cookie职能保存ASII字符串,如果要存取Unicode字符或者二进制数据,需要进行utf-8,或者GBK方式编码,也就是<%@ page contentType="text/html;charset=gb2312" %>中进行设置编码方式;cookie不能存放Java对象。

session中剋存放任意的数据类型,包括String,Date,Integer,List,Map还可以存取Java对象,Session可以是一个Java容器。

安全上:

cookie存放在浏览器是,对用户可见,浏览器上一些客户端程序可以访问到,而session时存放在服务器上的,用户一般访问不到。所以比较session比cookie安全

有效期:

一般来说cookie的有效期比session长,这还因为cookie存放在浏览器上session存放在服务器上,如果用户每次登陆不用输入相关信息可以把它保存在cookie中,这样就不必每次都去和服务器交互,同时服务器如果存取很多用户的session就会造成服务器内存溢出。

对服务器负担:

在上面也说了原因,所以session对服务器咋成的负担大,而cookie保存在浏览器上一般不会占用服务器。

浏览器支持:

有的浏览器不支持cookie或者把cookie禁用,这样cookie是不起什么作用的,这这样的情况器都只能用session方式以及url重写。

从域名上:

cookie支持跨域名访问,session不支持。

总是在实际开发中我们可以cookie喝session一起使用,用session保存一些安全信息,cookie保存一些不重要的其他信息


你可能感兴趣的:(Session和cookie的比较)