之前介绍了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保存一些不重要的其他信息