Cookie和Session 简单介绍
添加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 简单介绍的更多相关文章
- Cookie和Session的介绍与认识
Cookie: cookie是一种客户端的状态管理技术. 当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以c ...
- cookie和session简单的用法
一.登录成功则设置cookie和session 二.在登录页判断是否已记住密码 三.在首页判断,和创建会话区 四.在首页执行并显示
- cookie和session的介绍
1.cookie和session cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此产生cookie. cookie的工作原理是:由服务器产生 ...
- Session简单介绍
Session 会话 , Session是基于Cookie的一种会话机制. Cookie是服务器返回一小份数据给客户端,并且存放在客户端上. Session是,数据存放在服务器端. 常用API //得 ...
- cookie跟session自我介绍
Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...
- 前端Cookie与Session的区别
我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...
- 前端页面——Cookie与Session有什么区别
我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...
- Cookie和Session的总结
1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...
- 【10】Cookie和Session
一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下 ...
随机推荐
- mysql的时区错误问题
JDBC连接数据库报错如下: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or r ...
- spring 和 spirngMvc 中 异常处理
spring 中 的 异常处理 使用的是aspectj @Aspect @Component /** * * @author **** * @createData 2017年7月13日 上午8:36: ...
- CSS+jQuery实现轮播
CSS+jQuery实现轮播 CSS jQuery 前端 实现功能: 自动轮播: 鼠标放在上面停止轮播: 鼠标放在上面显示左右切换的按钮: 鼠标放在小圆圈上显示对应的图片: 轮播效果图 style. ...
- Docker 使用samba 共享文件
Docker 使用samba 共享文件 docker run -it --name samba \ -p 139:139 -p 445:445 \ -v /home/develop/code/de ...
- Java String 字符串操作小结
// 转载加编辑 -- 21 Apr 2014 1. Java字符串中子串的查找 Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现 ...
- Oracle redo undo
通常对undo有一个误解,认为undo用于数据库物理地恢复到执行语句或事务之前的样子,但实际上并非如此.数据库只是逻辑地恢复到原来的样子,所有修改都被逻辑地取消,但是数据结构以及数据库块本身在回滚后可 ...
- sqlserver 数据库阻塞和死锁
参考原文:http://blog.csdn.net/ha196200/article/details/44985597 (1) 数据库阻塞: 假设第一个连接T1占有且没有释放资源,第二个连接T2请求同 ...
- ubuntu下用apt-get安装lamp缺少mcrypt , curl
用apt-get安装的LAMP环境,但安装magento报没有mcrypt和curl, 解决方法如下: curl安装: sudo apt-get install curl libcurl3 lib ...
- daterangepicker-双日历
js脚本和css样式,到bootstrap官网去下载 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml&qu ...
- kafka删除主题数据和删除主题
1.删除主题 在server.properties中增加设置,默认未开启 delete.topic.enable=true 删除主题命令 /bin/kafka-topics --delete --to ...