实现原理
cookie
- 在完成登录时,浏览器访问服务器,服务器端会把用户信息设置到cookie中,将cookie信息返回给浏览器,浏览器保存到本地,下次访问服务器时携带用户信息,所有信息都保存在客户端本地
session
- session是基于cookie实现的,在完成登录功能时,浏览器访问服务器,登录成功后,把对用户信息生成session和sessionid,服务器将对应的sessionid返回浏览器,下次访问服务器时就会携带sessionid
区别
- cookie和session都是会话技术,cookie保存在客户端,session保存在服务器端
- cookie有限制大小为4K,session没有限制与服务器的内存和性能有关
- cookie默认没有有效时间,浏览器关闭即cookie失效,session默认保存时间为30分钟
注意
1. cookie:如果客户端本地被拦截,那么用户信息会被泄露,如果模拟浏览器向服务器发送请求,服务器会受到攻击
2. session:如果session失效的话,重新访问时,还会生成新的session及sessionid,如果不设置失效时间,session会一
存在,访问量很大的时候,服务器会产生多个session,对服务器的性能会有一定影响
3. 使用不同的浏览器访问时,也会产生不同的sessionid