目录
今天开发累了,和同事在闲聊,突然聊起了cookie和session,那,就分享一下我印象里的这两个吧~
保存位置:
Cookie:客户端会话技术,由服务器创建,保存在浏览器端
Session:服务端会话技术,由服务器创建,保存在服务器端
存储:
cookie:在浏览器端只能最大存储4K的字符串String,不安全
session:在服务器端可以存储人一多大小的对象Object,比较安全
工作原理:
cookie:
1.浏览器访问服务器时,服务器可以创建cookie,并把cookie响应给浏览器保存.
2.以后浏览器访问服务器时,每次请求都会携带这个cookie,服务器就可以取出cookie使用.
session:
1.当浏览器第一次(请求头中没有jsessionid,或jsessionid匹配不到session对象)访问服务器时,如果服务器执行了request.getSession(),服务器就会创建代表当前会话的对象session,并把session的唯一标志id作为会话级cookie(jsessionid,id)响应给浏览器存储.
2.在本次会话中,以后浏览器访问服务器时,每次请求都会携带这个session唯一标志,服务器就可以根据这个session的唯一标志,直接从服务器内存中取出当前会话对象使用.