10-14Asp Cookie和Session (今天是开学以后熬夜做作业第一天啊、觉得这块很难理解)

Cookies对象的使用
 
•Cookie可以定义为服务器存储在浏览器上的少量信息,它的主要用途是在客户端系统中保留客户的个人信息,而Cookie又分为两类
(1)会话Cookie的创建方式
(2)还有一种Cookie称为持久性Cookie,它是有一定的生命周期的,用户可以自定义这个生命周期,这种持久性的Cookie会以特殊文件的形式保存在客户端,当用户再次访问这个网站时,服务器会自动取出该用户的相关信息  
     创建语法
          HttpCookie myCookie = new 
          HttpCookie("UserSettings",”hello”);
          Response.Cookies.Add(myCookie);        
 
session
 
 
 
 
session的存储 
•在ASP.NET中,Session的存储方式有三种
–使用那种存储方式是在Web.config文件中进行设置的,先来看Web.config中关于Session的一段代码片断:
•<sessionState mode="InProc" cookieless="false" timeout="20" />
–还有一种Mode的值为StateServer,这种模式的特别之处是,重新启动IIS时,所保存的Session值是不会丢失的。
–最后一种Mode属性的值为SQL Server,它是指该会话状态保存在有SQL Server数据库的计算机上,并且当数据库重启服务时,会话数据依然会保留。
应用举例
利用Sesson传递用户登陆信息。核心代码如下:
 protected void Button1_Click(object sender, EventArgs e)
    {
        if (this.TextBox1.Text.Trim() != "")
        {
Session["username"] = this.TextBox1.Text.Trim();
            this.Response.Redirect("Default.aspx");
        }
        else
        {
            this.Literal1.Text = "请输入昵称!";
        }
    }
 
 
区别:
 

1、cookie

cookie数据保存在客户端(设置过期时间expires则同时保存在磁盘上,否则只保存在内存中),可被客户端脚本修改,当向服务器发送请求时,(在已经开启会话的前提下sesseion_start)会携带本地的cookie信息(假如有的话)一起发送出去,cookie是不安全的,单个cookie在客户端的大小显示是3k。

2、session

session数据保存在服务器,同时服务器发送sessionid给浏览器并在浏览器中生成名为jsessionID的输出cookie(称为session cookie,保存在浏览器内存中,如果服务器对该cookie设置了expires则同时会保存到磁盘上),

如果没有设置session cookie过期期限则session是针对某一次会话而言,当该次会话结束时(关闭浏览器),相应的session cookie也就消失了(因为是保存在内存当中)。session基于cookie和url重写,默认使用cookie,当浏览器禁用cookie时,采用url重写的方式向服务器传递sessionID。


总结:session只在浏览器端存储一个标识该session的串作为cookie,可以通过这样来设置session的过期期限setcookie(session_name(), session_id(), time() + $lifeTime, "/");另外服务器端设置cookie(setcookie())必须在有内容输出之前执行,否则会失效!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值