Cookie和Session的比较
一、Cookie的原理:
因为HTTP协议是无状态协议,所以每次发送请求服务器就会认为是一个新的用户请求。而Cookie是用来存储用户信息,帮助服务器识别用户。
Cookie可以通过实例化来创建,也可以通过request对象的方法getCookie()来判断是否带有cookie,若没有则会创建一个。Cookie通过response来传递给客户端。
二、Session的原理:
Session是存放在服务器的一种存储用户信息的机制,Session的大小一般没有限制,而Session不会再服务器和客户端之间传输,所以一般是在Cookie的配合下使用,每个客户端第一次请求访问就会创建一个Session对象,并且每个Session对象的id是不同的,Session中存储了客户端的大量数据,而这些数据如果在客户端和服务器之间传输将会耗费大量的资源,所以每次只需要将Session的id绑定在Cookie中,使用Cookie来传输客户端和服务器的请求状态即可。
三、Cookie和Session的不同点:
1.Cookie是存储在客户端<--->Session存储在服务器
2.Cookie的存储容量为4K<--->Session存储容量不限
3.Cookie只能存储String对象<--->Session可以存储任意的对象
4.Cookie的默认销毁时间是整个会话(浏览器关闭)<--->Session的默认销毁时间是30分钟
四、Cookie和Session的相同点:
都是为了记录当前用户的信息