Session和Cookie的区别
session
session是用于保存每个用户的专用信息,在用户访问的时候,服务器都会给用户分配一个唯一的会话ID,然后服务器就会开辟一个内存和这个ID对应,接着服务器就会将这个ID写入cookie中。seesion保存的值的生命周期是用户持续请求的时间+延迟时间(大概20分钟),session中的信息是保存在服务器上,一般保存小量的数据。
cookie
cookie是用于保存用户通过浏览器向服务端页面发送请求的请求信息(一小段文本),生命周期可以设置,默认是保存至关闭浏览器程序,和session一样,一般保存的是小量的数据。
session的原理
首先服务器会先生成唯一的会话ID,再开辟一块内存与这个ID相对应,接着服务器就会把这个ID写入cookie中,当session超时或者提前中断的时候,session就会自动释放该内存块。当服务器连入IIS并且请求的ASP需要session时,IIS就会去读取cookie中的ID,然后服务再检查该ID对应的内存块是否有效,有效则成功读取,无效则重新创建。
之前一直没有去理清楚session和cookie的关系,今天查阅了一些资料,写下总结。