Session 又称为会话状态,是 Web 系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息。HTTP 是一种无状态协议。这意味着 Web 服务器会将针对页面的每个 HTTP 请求作为独立的请求进行处理。服务器不会保留以前的请求过程中所使用的变量值的任何信息。ASP.NET 会话状态将来自限定时间范围内的同一浏览器的请求标识为一个会话,当每个用户首次与这台 WWW 服务器建立连接时,他就与这个服务器建立了一个 Session,同时服务器会自动为其分配一个 SessionID,用以标识这个用户的唯一身份。 举个例子来说,我们可以把已登录用户的用户名放在 Session 中,这样就能通过判断 Session 中的某个 Key 来判断用户是否登录,如果登录的话用户名又是多少。
Cookies
cookie 是一小段文本信息,伴随用户请求,在 web 服务器和浏览器之间传递。用户每次访问站点的时候,
web 应用程序都可以读取 cookie 包含的信息。
假设在用户请求您的网站的某个页面时,您的应用程序不仅是返回请求的页面。同时也返回一个包含日期
和时间的 cookie。用户的浏览器在获得页面的同时也获得了 cookie. 并且 cookie 保存在客户端的 cookie 文件夹中。
指定 cookie 的名字和要保存的值。可以创建多个,但每个 cookie 的名字必须唯一,以便日后取值时识别。(cookie 是按名字储存的,要创建两个 名称相同的 cookie,那么最后那个 cookie 将覆盖前一个。)同时可以给 cookie 指定过期日期和时间.cookie 是写入到用户硬盘上的,然后 可能一直都留在磁盘上。因此,指定 cookie 的过期日期和时间。当用户下次访问站点的时候,浏览器会先检查您站点的所有 cookie, 如果某个 cookie 已经过期,浏览器不会把这个 cookie 随页面请求一起发送给服务器,而是删除。
cookie 和 session 的区别:
1、cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
2、cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗
考虑到安全应当使用 session
3、session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用 COOKIE
4、单个 cookie 在客户端的限制是 3K,就是说一个站点在客户端存放的 COOKIE 不能 3K。