Cookie和Session的区别
1、存放位置
Cookie:Cookie数据存放在客户的浏览器上;
Session:Session数据放在服务器上。
2、安全性
Cookie:Cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,但可以设置加密;
Session:存储在服务器上,无法伪造。
3、销毁方法
Cookie:设置Cookie时间可以使Cookie过期;
Session:使用Session-destory(),会销毁会话。
4、性能考虑
Cookie:存放在客户端的浏览器上;
Session:在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面。
5、数据量限制
Cookie:单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie;
Session:Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型。
6、生存周期
Cookie:预先设置的生存周期,或永久的保存于本地的文件;
Session:在IE启动到IE关闭(浏览器页面一关,session就消失了)。
过程分析:
- 当登陆网站的时候,如果Web服务器使用的是session,那么所有的数据都保存在服务器上面。
- 客户端每次请求服务器的时候会发送当前会话的session_id,服务器根据当前session_id判断相应的用户数据标志,以确定用户是否登陆,或具有某种权限。
- 由于数据是存储在服务器上面,所以你不能伪造,但是如果你能够获取某个登陆用户的session_id,用特殊的浏览器伪造该用户的请求也是能够成功的。
- session_id是服务器和客户端链接时候随机分配的,一般来说是不会有重复的,但如果有大量的并发请求,也不是没有重复的可能性。
- Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。
注意:
- session很容易失效,用户体验很差;
- 虽然cookie不安全,但是可以加密 ;
- cookie也分为永久和暂时存在的;
- 浏览器 有禁止cookie功能 ,但一般用户都不会设置;
- 一定要设置失效时间,要不然浏览器关闭就消失了;
参考链接:https://www.cnblogs.com/l199616j/p/11195667.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具