Cookie和Seesion的区别
一.Cookie对象:
1.Cookie是由网络服务器发送出来,存在在浏览器上,它是个存储在浏览器目录中的文本文件。当浏览该cookie对应的站点时,cookie作为http头部文件的一部分在浏览器和服务器之间互相传递,这些数据和传递过程对于用户是不直接可见的。
2.cookie对象为web应用程序保存用户的相关信息提供了一种有效的方法,它分别属于Request对象和Response对象,每一个Cookie对属于集合Cookies,所以访问cookie可以通过索引器的方式访问。
3.Cookie的语法:
Response.Cookies[cookie的名称].Value=变量值。 //写入Cookie
string 变量名=Request.Cookies[cookie的名称].Value //读取Cookie
4.Cookie对象的属性:
Name:Cookie变量的名称。
Value:取得或设置Cookie变量的内容(值)。
Expries:设置Cookie变量的有效时间,如果没有设置则保存到关闭浏览器程序为止,当设置未MaxValue时,则表示cookie永远不会过期
5.Cookie用处:
5.1:Cookie存储在客户端,受到浏览器限制,所以不能存储大量数据。一般为4KB。
5.2:由于Cookie存储在客户端,所以出于安全考虑一般不使用存储客户登陆信息,通常在客户未登陆下,记录用户浏览记录,登陆时间等。。。
二.Sesion对象
1.Session存在在服务器端,它针对每一个连接,系统都会自动分配一个ID来表示每一个用户,该ID在客户端和服务器端传递,达到唯一标识每一个用户的目的。获得该ID用Session.SessionID.
2.Session类型的变量可以供访问应用程序的该用户在该web应用的所有页面中共享数据。
3.Session也是一个集合,也可以用索引的方式访问,不过它比Cookie更方便,可以直接进行读取。
4.Session的语法:
Session["Session名称"]=值 //写入Session
变量=Session["Session名称"]; //读取Session
5.Session对象的特点:
5.1:Session对象包含某一个用户状态信息,此信息仅面向该链接,不与其他用户共享。
5.2:会话过期时,服务器即刻清除Session对象,释放所有资源。
5.3:会话通过SessionID传递状态信息,不像Cookie那样将所有内容传输,客户端仅对SessionID可见,对状态信息的内容不可见。
6.Session属性与方法:
SessionID属性:包含唯一的用户会话标识符,它可以用于整个会话中记录用户信息。
Timeout属性:设置用户超时时间,单位为分钟,当用户在这段时间没有操作,服务器就会清楚Session,或者关闭浏览器时,Session也会失效。