目录
Session 的概念
服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。
Cookie 的概念
客户端会话技术,将数据保存到客户端
Session 的特点
- Session 用于存储一次会话的多次请求的数据,存储服务器端
- Session 可以存储任意类型,任意大小的数据
- Session是加密的
- Session大小不受限制
cookie特点
- cookie是不加密的
- cookie是可以被篡改和攻击
- cookie大小受到限制
Session 与 Cookie 的联系
- Session和Cookie都是为了让HTTP协议有状态而存在
- Session通过Cookie工作,Cookie传输的SessionID让Session知道这个客户端到底是谁
Session 与 Cookie 的区别
- Session 存储数据在服务器端,Cookie 存储数据在客户端
- Session 没有数据大小限制,Cookie 有数据大小限制,单个Cookie保存的数据长度不能超过4K,很多浏览器都限制一个网址最多保存20个cookie。
- Session 数据安全,Cookie 相对数据不安全,cookie是明文,不安全,别人利用cookie可以被篡改和攻击;而session存放服务器缓存中并且加密的,其他用户看不到。
- Session存在于服务器的内存中,如果服务器重启就会丢失session同时需要重新登录
- Cookie中只能保管ASCII字符串,而Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等。Session中也能够直接保管Java Bean乃至任何Java类,对象等,运用起来十分便当。能够把Session看做是一个Java容器类。
详细的区别,请查看Cookies和Session的区别和理解,cookie与session的区别是什么这两篇博客
详细了解Session和Cookie,请查看ASP.NET---Session,ASP.NET---Cookie
(PS:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中)