Cookie与Session的异同
Cookie和Session都是会话域对象,Cookie是保存在客户端的会话对象,而Session是保存在服务器端的会话对象。Cookie和Session存储数据是不一样的。
Cookie
Cookie它是以键值对的方式来存储数据的,键值对的数据类型都是字符串类型。保存在浏览器,但浏览器对Cookie是有要求的,比如说每个Cookie的Value只能存储不能超过4KB,不同的浏览器不一样,一般是4KB左右。浏览器对每个服务器域名Cookie存储总量也有限制,比如说一个服务器或一个域名一般限制存储50个cookie左右。而Cookie他运行的机制也和session不一样,Cookie是保存在浏览器端的,每次提交请求给服务器端的时候,浏览器会携带Cookie数据到服务器端。另外Cookie放在客户端并不安全,如果存敏感数据需要进行加密处理 。不同的客户端不能共享Cookie。
Session
Session是放在服务器端的,服务器会对每个浏览器发送过来的请求都单独创建一个唯一的Session。Session对象由于放在服务器端,他相对来说是比较安全的。由于服务器会对每个用户创建session,所以Session存储的数据不能太多。Session也同时是服务器端的域对象,所以说他也是键值对来存储数据,但是他的Value是Object对象类型,可以存储任意数据类型的对象,并且大小没有限制。Session的应用场景一般用来存个验证码,存个用户的登录数据之类的。