cookie
    1、cookie是存在客户端(浏览器)的进程内存中和客户端所在的机器硬盘上
    2、cookie只能能够存储少量文本,大概4K大小
    3、cookie是不能在不同浏览器之间共享
 
 添加Cookie
//1.0 在服务器端实例化cookie对象 HttpCookie cookie = new HttpCookie("name", name); //2.0 设置cookie在浏览器端有效时间为2分钟,注意:此时浏览器就会将cookie存入到其所在的硬盘(等待时间到期以后才消失) cookie.Expires = DateTime.Now.AddSeconds(); //3.0 Path ="/" 表示当前浏览器请求此网站的任何页面都会将有效cookie传入给服务器 cookie.Path = "/01cookie/"; //指定当前cookie只有在浏览器访问01cookie文件下下的所有页面才传入服务器 //4.0 设置Domain 表示当前cookie只有在当前设置好的域名下才有效 //注意:如果没有指定Domain 的情况下,asp.net会智能的读取当前url中的主机 //实现单点登录的简单方式可以设置cookie的Domain 为顶级域名 //顶级域名 .baidu.com //二级域名:www.baidu.com,zhidao.baidu.com mp3.baidu.com //三级域名:zhidao.s1.baidu.com ,但是一般只是用到二级域名,三级域名对于网站的seo优化回不明显 //单点登录:实现一次登录以后再当前域名下面的其他站点可以实现免登录 cookie.Domain = ".c12.com"; //将cookie的Domain设置成顶级域名以后再其所有的二级域名下的网站都可以共享此cookie //5.0 通过Response.Cookies 将cookie对象发送给浏览器保存 Response.Cookies.Add(cookie); //底层就是向相应报文头中 添加指令 set-cookie:name = admin;Expires UTC时间

获取Cookie的值:

if (Request.Cookies["name"] == null)

{

    Response.Write("<script>alert('登录状态已经失效,请重新登录');window.location='login.aspx'</script>");

}

删除Cookie:

//清除cookie思路,一定是将cookie的过期时间设置为当前时间以前的某个时间点

//清除 path=/下的并且doamin曲子url主机的cookie

HttpCookie cookie = new HttpCookie("name", "");

cookie.Expires = DateTime.Now.AddYears(-);

//表示清除path=/01cookie/的cookie

cookie.Path = "/01cookie/";

Response.Cookies.Add(cookie); //set-cookie :Expires:2013-4-11


Session:

1、存在服务器端,存在网站进程的内存中

2、在初次设置session的时候,会在session池中实例化一个session对象,以asp.net_sessionid 的值作为key,同时会将key以cookie的形式

保存到客户端的内存中

3、session的作用域只存在当前浏览器的会话中,当浏览器关闭以后就会将sessionid丢失,但是服务器的session对象要20分钟以后才会回收

4、在web.config中的 <system.web> 节点下添加 <sessionState timeout="5" cookieless="true"></sessionState> 手动修改session的相关设置

注意点:

aspx编译完成以后会自动实现接口IRequiresSessionState,所以能够直接使用session

但是一般处理程序,需要程序员自己实现接口IRequiresSessionState ,才能够使用session对象

如果浏览器禁用了cookie,则可以使用

设置:<sessionState cookieless="true"></sessionState> 来开启url传入sessionid到服务器,但是不推荐使用

添加Session:

//将当前name的值存入session中

context.Session["name"] = name;

获取Cookie:

(string)Session["name"]

删除Cookie:

//负责清除session

context.Session["name"] = null;

context.Session.Abandon();    取消当前会话

在一般处理程序中要使用session  要实现System.Web.SessionState.IRequiresSessionState接口

Cookie和Session 简单介绍的更多相关文章

  1. Cookie和Session的介绍与认识

    Cookie: cookie是一种客户端的状态管理技术. 当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以c ...

  2. cookie和session简单的用法

    一.登录成功则设置cookie和session 二.在登录页判断是否已记住密码 三.在首页判断,和创建会话区 四.在首页执行并显示

  3. cookie和session的介绍

    1.cookie和session cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此产生cookie. cookie的工作原理是:由服务器产生 ...

  4. Session简单介绍

    Session 会话 , Session是基于Cookie的一种会话机制. Cookie是服务器返回一小份数据给客户端,并且存放在客户端上. Session是,数据存放在服务器端. 常用API //得 ...

  5. cookie跟session自我介绍

    Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...

  6. 前端Cookie与Session的区别

    我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...

  7. 前端页面——Cookie与Session有什么区别

    我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...

  8. Cookie和Session的总结

    1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...

  9. 【10】Cookie和Session

    一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下 ...

随机推荐

  1. filter防止xxs攻击

    什么是XSS攻击? XSS攻击使用Javascript脚本注入进行攻击 例如在表单中注入: <script>location.href='http://www.itmayiedu.com' ...

  2. vue.js路由学习笔记二

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. js 遍历tree的一个例子(全遍历)

    全遍历 亲测真是有效. 工作中遇到的问题应该算是比较有价值的问题. <!DOCTYPE html> <html lang="en"> <head> ...

  4. Mybatis学习笔记(一) —— mybatis介绍

    一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  5. Spring和EhCache整合(针对使用了Shiro)

    https://blog.csdn.net/a243293719/article/details/78277895

  6. Java StringTokenzier

    Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串.如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你. public static v ...

  7. Electron、Node.js、JavaScript、JQuery、Vue.js、Angular.js,layui,bootstrap

    转载:https://blog.csdn.net/meplusplus/article/details/79033786 layui :是基于jquery库的封装开发. bootstrap:同样基于 ...

  8. Spring实现AOP

    转载: https://blog.csdn.net/tolcf/article/details/49133119 [框架][Spring]XML配置实现AOP拦截-切点:JdkRegexpMethod ...

  9. 通过.net core源码看下Dictionary的实现

    https://blog.csdn.net/narlon/article/details/80755386     .net core的代码位置 https://github.com/dotnet/c ...

  10. java——volatile的可见性不能保证线程安全

    volatile: 1.保证变量对所有线程的可见性(但是由于java里面的运算并非原子操作,导致volatile变量的运算在并发下一样是不安全的) 用代码试过,确实是这样的,原因:有可能同时多个thr ...