首页 > 代码库 > Cookie和Session的区别

Cookie和Session的区别

Cookie(小甜饼)

1.Cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存,并且读取出来的一种技术。

2.当你浏览某个网站时,由Web服务器放置在你硬盘上的一个非常小的文本文件,它可以记录你的用户ID,浏览过的网页或者停留的时间等王章想要你保存的信息。当你再次通过浏览器访问该网站的时候,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie得知你的相关信息,就会做出相应的动作。如在网页显示欢迎你的标语,或者让你不用输入ID,密码就可以直接登录等等。

3.浏览器访问一个站点时,只将属于当前站点的Cookie发送到服务器,

4.浏览器保存Cookie的两种方式: 4-1浏览器的内存中; 4-2浏览器所在的电脑的硬盘中。未将要写入的浏览器的Cookie对象设置失效时间; cook.Expires=DateTime.Now.AddMinute(5);//设置cook在5分钟后失效 开发场景:常用在登陆和保存用户最近浏览商品

5.Cookie都是从服务器端写到浏览器端的 key-value集合 Response.AppendCookie(new HttpCookie("laoma","牛人")) 从客服端获取Cookie值 Response.Cookie[i].value; //在服务器端不能直接对浏览器上的Cookie进行操作,可以在浏览器端设置Cookie的过期时间让浏览器去清空Cookie int cookieCount=this.Request.Cookie.Count;

for(int i=0;i<cookieCount;i++)

{

//创建一个新的Cookie,只不过名字更请求过来的一样 HttpCookie cookie=new HttpCookie(Reques.Cookie[i].Name); //设置过期时间 cookie.Expires=DateTime.Now.AddHours(-1);

Response.Cookies.Add(cookie);

}

Cookie中的域 如果当前的网页是百度下的子网页,设置的Cookie,如果想让百度这个主网页也能访问子域中的Cookie,把Domain设为主域 Cookie.Domain="www.baidu.com";

6.如果设置了过期时间浏览器就把Cookie存到硬盘中,如果不设置过期时间就存到内存中

7.  7.1Cookie的缺点和表单一样,而且还不能存储过多的信息,

    7.2.当网站请求jpg,js.css这种文件的时候也会带着Cookie,这就降低了网站的性能 可以把动态文件可静态的文件放在不同的域中,Cookie不能夸域,这样就可以达到网站的优化               

  Seeion

1.Session提供了一种把信息保存在服务器内存中的一种方式(它能存储任何数据类型包括自定义对象)

2.每个客户端的Session是独立存储。

3.Session对象用于存储有关客户的信息

4.在整个用户会话过程中都会保留此信息(保存SessionId的cookie丢失之前)

5.当前用户在应用程序中从一个浏览网页到另一个网页时,存储在Session对象中的变量不会被丢弃。

6.Session只可有该会话的用户访问(因为SessionId的东东以cookie的方式保存访问者浏览器的缓存里了)

7.用户不能访问和修改他人的Session 8.当前会话过期或终止时,服务器就会清除Session对象 应用:常用于保存登陆用户ID

 

Cookie和Session的区别