ASP.NET中session和cookie详解

Cookie译小甜饼,是网页浏览器用来保存用户信息的文件,也就是一小段文本,可以保存比如用户是谁,购物车有哪些商品等。
Session会话,会话是指我们访问网站的一个周期。 比如用户打开一个浏览器访问某个位的站点。


首先Cookie简单了解一下:

  1. Cookie是一种能够让网站服务器把少量数据(4kb左右)储存到客户端的硬盘或内存,并且读取出来的一种技术。
  2. 当你浏览某网站时,由Web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie,得知你的相关信息,就可以做出相应的动作。如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
  3. 浏览器访问一个站点时,只将属于当前站点的Cookie发过到服务器。(根据域名)—(没必要把每家医院的病历本都带过去。)
  4. Cookie不兼容浏览器!
  5. 最好是将要保存的内容在服务器端加密(安全),
  6. 在硬盘中存放的位置与使用的操作系统和浏览器密切相关。
  7. 浏览器保存Cookie有两种方式:
    • 浏览器的内存中;
    • 浏览器所在的电脑的硬盘中。为将要写入到浏览器的Cookie对象设置失效时间:cook.Expires = DateTime.Now.AddMinutes(5);//设置cook5分钟后失效开发场景:常用于登录和保存用户最近浏览商品 从浏览器发来的Cookie的Expires属性值是无效的.(浏览器在向服务器发送Cookie的时候,没有将Cookie的失效时间发送过去)

Session简介:

  1. 当会话过期或终止时,服务器就会清除 Session 对象
  2. Session提供了一种把信息保存在服务器内存中的一种方式。它能存储任何数据类型包括自定义对象。
  3. 每个客户端的Session是独立存储。
  4. Session 对象用于存储有关用户的信息。
  5. 在整个用户会话过程中都会保留此信息。(保存SessionId的cookie丢失之前)
  6. 当用户在应用程序中从一个网页浏览到另一个网页时,存储在 Session 对象中的变量不会被丢弃。
  7. Session只可由该会话的用户访问(因为SessionId的东东以cookie的方式保存访问者浏览器的缓存里了)
  8. 用户不能访问或修改他人的Session

Session基础流程
在这里插入图片描述

Session的操作
开始并为Session赋值:Session[“uName”]=“CNYaoMing”;
取值:string strName = Session[“uName”].ToString();
销毁(取消/退出):Session.Abandon();//销毁服务器端的Session对象Session.Clear();//清空服务端的Session对象里的键值对,Session对象并没有从Session池里销毁


cookie和session的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用cookie。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议: 将登陆信息等重要信息存放为SESSION 其他信息如果需要保留,可以放在COOKIE中

cookie 和session 的联系:

1.session是通过cookie来工作的
2. session和cookie之间是通过COOKIE[‘PHPSESSID’]来联系的,通过COOKIE[‘PHPSESSID’]可以知道session的id,从而获取到其他的信息。
3. 在购物网站中通常将用户加入购物车的商品联通session_id记录到数据库中,当用户再次访问是,通过sessionid就可以查找到用户上次加入购物车的商品。因为sessionid是唯一的,记录到数据库中就可以根据这个查找了。

在这个站点点击多个超链接查看各个网页,然后关闭浏览器,整个过程称之为一个会话。
两个都可以用来存私密的东西,同样也都有有效期的说法。
最基础的区别在于session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去。

猜你喜欢

转载自blog.csdn.net/weixin_43437202/article/details/90109722