Session用于保存每一个用户的专用信息. 每一个客户端用户访问时,服务器都为每一个用户分配一个惟一的会话ID(Session ID) . 她的生存期是用户持续请求时间再加上一段时间(通常是20分钟左右).Session中的信息保存在Web服务器内容中,保存的数据量可大可小.当 Session超时或被关闭时将自动释放保存的数据信息.因为用户中止使用应用程序后它仍然在内存中保持一段时间,所以使用Session对象使保存用户数据的方法效率很低.对于小量的数据,使用Session对象保存仍是一个不错的选择程序员
Cookie 用于保存客户浏览器请求服务器页面的请求信息,程序员也能够用它存放非敏感性的用户信息,信息保存的时间能够根据须要设置.若是没有设置Cookie失效日期,它们仅保存到关闭浏览器程序为止.若是将Cookie对象的Expires属性设置为Minvalue,则表示Cookie永远不会过时.Cookie存储的数据量很受限制,大多数浏览器支持最大容量为4K,所以不要用来保存数据集及其余大量数据.因为并不是全部的浏览器都支持Cookie,而且数据信息是以明文文本的形式保存在客户端的计算机中,所以最好不要保存敏感的,未加密的数据,不然会影响网站的安全性浏览器
session工做原理安全
(1)当有Session启动时,服务器生成一个惟一值,称为Session ID(好像是经过取进程ID的方式取得的)。服务器
(2)而后,服务器开辟一块内存,对应于该Session ID。markdown
(3)服务器再将该Session ID写入浏览器的cookie。cookie
(4)服务器内有一进程,监视全部Session的活动情况,若是有Session超时或是主动关闭,服务器就释放改内存块。session
(5)当浏览器连入IIS时并请求的ASP内用到Session时,IIS就读浏览器Cookie中的Session ID。网站
(6)而后,服务检查该Session ID所对应的内存是否有效。加密
(7)若是有效,就读出内存中的值。spa
(8)若是无效,就创建新的Session。