cookie学习笔记

本文介绍了Cookie的基础知识,包括其用于解决HTTP无状态的问题,以及与Session的区别。通过一个ASP.NET网站的实例,展示了如何创建、设置和检查Cookie的有效性,强调了Cookie在会话管理中的应用。
摘要由CSDN通过智能技术生成

cookie学习笔记

目录

cookie学习笔记

cookie概要

cookie与session不同

cookie实训

实验内容

代码

HTML代码:

事件代码

 

 

 


cookie概要

 cookie(存储在用户本地终端上的数据)。cookie 的出现是因为 HTTP 是无状态的一种协议,也就是说服务器记不住你,可能你每刷新一次网页,就要重新输入一次账号密码进行登录。这显然是极大的降低了效率,cookie 的作用就好比服务器给你贴个标签,然后你每次向服务器再发请求时,服务器就能够通过cookie 认出你。它的作用简而言之就是服务器给每个客户端(浏览器)打上标签,方便服务器辨认。

cookie与session不同

随着网站的发展,功能不断增加,涉及的数据交互也越来越多,通过cookie机制来传递这么多的数据的话很低效,而且要知道coookie字段存储在“HTTP header" 中,会消耗很多网络资源。而session 是一个数据结构,由网站的开发者设计,所以可以承载各种数据,只要客户端的 cookie 传来一个唯一的 session ID,服务器就可以找到对应的 session,认出这个客户。当然,由于 session 存储在服务器中,肯定会消耗服务器的资源,所以 session 一般都会有一个过期时间,服务器一般会定期检查并删除过期的 session,如果后来该用户再次访问服务器,可能就会面临重新登录等等措施,然后服务器新建一个 session,将 session ID 通过 cookie 的形式传送给客户端。

cookie实训

实验内容

设计一个ASP.NET网站,向Default.aspx页面中添加一个按钮控件和一个标签控件。页面首次加载时创建一个名为MyCookie,有效期为1分钟的Cookie,并为其赋值OK,标签中显示Cookie到期时间和值。在Cookie有效期内单击按钮,标签中显示“Cookie有效”和Cookie值,过期后单击该按钮,标签中显示“Cookie已失效”。

代码

HTML代码:

  1.    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  2.   
  3. <!DOCTYPE html>  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  8.     <title></title>  
  9. </head>  
  10. <body>  
  11.     <form id="form1" runat="server">  
  12.     <div>  
  13.       
  14.         <asp:Button ID="btnOK" runat="server" OnClick="btnOK_Click" Text="按钮" Height="57px" Width="117px" />  
  15.       
  16.     </div>  
  17.         <asp:Label ID="lblCookie" runat="server" Text="Label"></asp:Label>  
  18.     </form>  
  19. </body>  
  20. </html>  

事件代码

  1.    using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7.   
  8. public partial class _Default : System.Web.UI.Page  
  9. {  
  10.     protected void Page_Load(object sender, EventArgs e)  
  11.     {  
  12.         this.Title = "Cookie使用示例";  
  13.         if (!IsPostBack)  
  14.         {  
  15.             Response.Cookies["MyCookie"].Value = "OK";  
  16.             Response.Cookies["MyCookie"].Expires = DateTime.Now.AddMinutes(1);  
  17.             lblCookie.Text = "Cookie已创建,有效期为:" + DateTime.Now.AddMinutes(1) + ",其值为:" + Request.Cookies["MyCookie"].Value;  
  18.         }  
  19.     }  
  20.   
  21.     protected void btnOK_Click(object sender, EventArgs e)  
  22.     {  
  23.         if (Request.Cookies["MyCookie"] == null)  
  24.         {  
  25.             lblCookie.Text = "Cookie已过期!";  
  26.         }  
  27.         else  
  28.         {  
  29.             lblCookie.Text = "Cookie有效,其值为:" + Request.Cookies["MyCookie"].Value;  
  30.         }  
  31.     }  
  32. }  
  33.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值