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. pytorch实现depthwise convolution

    深度分离卷积是Xception这个模型中提出来的(不太确定,但肯定是它让这个概念为大众周知),具体来说分为两步,depthwise conv和pointwise conv,前者对输入特征图的每个通道进 ...

  2. nginx 搭建 rtmp 服务器

    前言 最近接手了一个跟视频监控相关的项目,用了近年来越来越流行的 Web 服务器 nginx 加上 nginx-rtmp-module 搭建 rtmp 服务器.使用了阿里云的服务器,系统 Ubuntu ...

  3. ftp 添加用户及修改用户目录

    添加用户 : useradd 用户名 -s /sbin/nologin //限定用户test不能telnet,只能ftp; usermod -s /sbin/bash 用户名 //用户恢复正常 ;该账 ...

  4. 查看php 相关信息

    PHP系统常量 __FILE__ 当前PHP程序脚本的绝对路径及文件名称 __LINE__ 存储该常量所在的行号 __FUNCTION__ 存储该常量所在的函数名称 __CLASS__ 存储该常量所在 ...

  5. Go语言构建json和解析json实例

    参考网址如下: https://www.cnblogs.com/fengbohello/p/4665883.html

  6. Kendo UI 简单使用

    1 准备工作 引入JS文件和CSS文件 <link href="js/kendoui/styles/kendo.common.min.css" rel="style ...

  7. ubuntu14.04下 安装matlabR2015b遇到的一些问题及其解决方法

    问题1:错误提示关于未取得权限,不能再/crack/bin文件中复制文件到安装matlab的/usr/bin文件中? 采取解决方法: 再终端里输入 sudo nautilus,在弹出文件夹里即可进行相 ...

  8. 《mac的git安装手册-1》

    <mac的git安装手册-1> 下载地址 https://git-scm.com/downloads 如果遇到上面这个问题打开系统偏好设置: OK,这样就能安装了

  9. Centos6.10搭建Hadoop三节点分布式

    (一)安装JDK 1. 下载JDK,解压到相应的路径 2.  修改 /etc/profile 文件(文本末尾添加),保存 sudo vi /etc/profile # 配置 JAVA_HOME exp ...

  10. VBS 学习

    VBS其他功能 获取系统用户名 DimWshNetwork Set WshNetwork =CreateObject("WScript.Network") strTaccount ...