码迷,mamicode.com
首页 > 其他好文 > 详细

认识cookie

时间:2015-11-26 23:09:10      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

今天抽时间上网搜了一下关于cookie的知识,整理记录一下。

1.cookie是存储在客户端机器硬盘中的(相比较,session是存储在服务器端的内存中,可想而知更安全,但也会占用服务器资源),对其的管理是在浏览器中,这个我们可以用浏览器工具(F12)查看cookie信息。

2.cookie的使用场景:大多是用于记录用户一些基础信息,如用户名、密码,这样当用户下次登录这个网站时会发现用户名密码是已经填写好的(前提是第一次登录成功后弹出提示:是否记住用户信息、是否自动登录等,选择是),目的就是方便了用户对网站的浏览,节省用户时间。又比如,我们浏览购物网站的加入购物车功能,便是把商品信息记入了cookie,目的是一样的,都是方便用户对网站的访问,包括一些网站个性化信息等,都可以记录cookie。

3.使用限制:浏览器一般都是默认允许记录cookie的(当然,也可以设置网站屏蔽所有cookie),cookie记录信息量是有限的,一般为4k,而且大多数浏览器允许每个站点存储20个cookie,存储更多的话会导致较旧的cookie被覆盖。

4.由于cookie是存储在客户端的,所以敏感信息切记不要存cookie身份证号、信用卡等重要信息)。
5.对cookie的操作:

①添加cookie:
1
       HttpCookie cookie = new HttpCookie("MyCookie");//实例化一个名为"MyCookie"的cookie 2 cookie.Expires = DateTime.Now.AddMinutes(1);//设置cookie过期时间1分钟 3 4 //为MyCookie添加两个子键:userId,userId2,对应的值分别为:uservalue1,uservalue2 5 cookie.Values.Add("userId", "uservalue1"); 6 cookie.Values.Add("userId2", "uservalue2"); 7 //将一个http cookie添加到内部cookie集合 8 Response.AppendCookie(cookie); 9 //输出所有cookie值信息 10 Response.Write(cookie.Values);

1 ②读取cookie:
2 1       if (Request.Cookies["MyCookie"] != null)
3 2             {
4 3                 Response.Write("MyCookie中键为userId的值为:" + Request.Cookies["MyCookie"]["userId"]);
5 4                 Response.Write("MyCookie中键为userId2的值为:" + Request.Cookies["MyCookie"]["userId2"]);
6 5                 Response.Write("MyCookie中所有内容:" + Request.Cookies["MyCookie"].Value);
7 6             }
 1 ③修改cookie:
 2  1       HttpCookie myCookie = Request.Cookies["MyCookie"];
 3  2             if (myCookie != null)
 4  3             {
 5  4                 //修改cookie
 6  5                 myCookie.Values["userId"] = "new_uservalue1";
 7  6 
 8  7                 //向cookie中添加新值
 9  8                 myCookie.Values.Set("newId", "add_uservalue");
10  9                 Response.AppendCookie(myCookie);
11 10             }
12 11             Response.Write("修改后MyCookie中所有内容:" + Request.Cookies["MyCookie"].Value);

 

 1 ④删除cookie:
 2 
 3  1        HttpCookie mycookie = Request.Cookies["MyCookie"];
 4  2             if (mycookie != null)
 5  3             {
 6  4                 mycookie.Values.Remove("userId");//移除键为userId的值
 7  5                 Response.Write("修改后MyCookie中所有内容:" + Request.Cookies["MyCookie"].Value);
 8  6 
 9  7                 //移除所有cookie:设置cookie失效
10  8                 mycookie.Expires = DateTime.Now.AddDays(-1);
11  9                 //session过期后,需写入输出流,下次访问时此session才会真正失效(自己的理解)
12 10                 Response.AppendCookie(mycookie);
13 11                 if (mycookie != null)
14 12                 {
15 13                     Response.Write("cookie仍有效" + Request.Cookies["MyCookie"].Value);
16 14                 }
17 15                 else
18 16                 {
19 17                     Response.Write("cookie已被移除");
20 18                 }
           }

 参考文章:https://msdn.microsoft.com/zh-cn/library/ms178194%28VS.80%29.aspx

       http://www.cnblogs.com/cpcpc/archive/2011/03/28/2123030.html

认识cookie

标签:

原文地址:http://www.cnblogs.com/baweier2013/p/4999054.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!