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就是在这样一个场景下 ...
随机推荐
- 谁能赢呢? BZOJ 2463
题目描述 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问 ...
- maven 项目 配置docker镜像生成(dockerfile-maven-plugin)
插件地址:https://github.com/spotify/dockerfile-maven 依github上备注,只要在项目根上录上编写dockerfile,然后引用插件即可 编写Dockerf ...
- 树莓派使用 PPA 安装 Java 8
前言 在树莓派上安装 Java 8,与这篇的操作类似,不过树莓派不支持用 add-apt-repository 自动添加 webupd8team 的源,所以要手动添加. 步骤 在 /etc/apt/s ...
- Go语言基础练习题系列2
1.练习1 生成一个随机数,让一个用户去猜这个数是多少? 代码示例如下: package main import ( "fmt" "math/rand" //m ...
- OpenCV属性页配置问题~
详细的OpenCV属性页的安装流程,参考这个网站:http://m.bubuko.com/infodetail-793518.html 运行例子时候,如果遇到这个问题,可能配置环境时候出现问题了. 此 ...
- 基于MVC模式开发的后台框架
1.ThinkCMF 2.NFine快速开发平台 3.力软快速开发框架 如有好的开发框架希望可以一起交流
- MapReduce的主要的六个类讲解
a.InputFormat类.该类的作用是将输入的文件和数据分割成许多小的split文件, 并将split的每个行通过LineRecorderReader解析成<Key,Value>,通过 ...
- inventor安装失败怎样卸载安装inventor 2016?
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- CAD安装失败怎样卸载CAD 2017?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- maya安装错误
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...