• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

Web数据状态保持的Cookie解释以及原理分析

时间:2015年04月02日 15:32:05    来源:魔法猪系统重装大师官网    人气:3606
前往ie浏览器专题

我们知道web网站在客户端存储数据有三种形式:1. Cookie   2. hidden(隐藏域) 3.QueryString 其中viewstate什么的都是通过第二种方式隐藏域存储滴。

      客户端存储数据有三种形式,那服务器端有几种呢? 嘿嘿 服务器端有:1. Session 2. Application 3. database 4. caching(缓存) 其中session用的较多,当然数据库是必须的。

      好了今天的主角是cookie(小甜饼)先看下cookie存在哪吧!首先,打开运行对话框输入cookies会打开一个文件夹没错这就是存储cookies的地方(声明:这里只是存储的ie浏览器的cookies,什么谷歌、火狐什么的存在他们所对应浏览器的安装目录中)。

先看一下怎么新建一个cookie吧!

HttpCookie cookie = new HttpCookie("userName");
cookie.Value = userName;
cookie.Expires = DateTime.Now.AddHours(2);
Response.Cookies.Add(cookie);

第一行:创建一个HttpCookie对象,然后构造函数 给个cookie名称
第二行:给这个cookie赋值---->因为cookie是以键值对存储的 ex:userName = “admin”
第三行:设置此cookie的失效时间,此值是一个具体的失效时间datetime类型   上面是设置两个小时后失效
第四行:将cookie写到cookie中,即写在响应报文头中一会分析原理的时候会讲到。

行设置了cookice了那我怎么读它呢?废话少说上代码

Request.Cookies["userName"].Value

      呵呵,是不是很简单,就是在请求中有个Cookices集合然后通过索引的方式访问他---->把它比较成Request.Form["....."]  这句是不是经常使。

好了会创建了也会获得了 那咱下面就分析一下原理

     大家想下服务器是通过什么传输数据的?Socket没错,前面的文章不是通过Socket实现过一个简单的web服务器吗 嘿嘿 ,然后Socket只是传输层的东东,那它

如果把数据发送到客户端浏览器的呢,在者说浏览器是通过什么把数据(请求)发送给服务器的呢?  是不是通过报文啊  客户端通过请求报文想服务端发送请求,然

后呢服务器接受到客户端的请求,又通过响应报文将服务端的数据发送给服务器。那么今天的Cookice就是通过报文传输的 下面通过图继续讲解

Set-Cookie: userName=admin; expires=Thu, 26-Apr-2012 15:52:34 GMT; path=/

设置cookie  将服务端设置的cookice 传给客户端浏览器,其中还包括了失效时间

从图中可以看出服务端设置cookice是通过响应报文头将cookice传输给浏览器滴,然后客户端呢 客户端是通过请求报文头将cookice传输给服务端滴

注意:

1. 因为Cookice是存储在客户端的数据,如果有敏感的数据必须在服务端加密后然后在保存

2. Cookice在客户端有两种保存形式:(1)保存在硬盘上(设置了cookice的失效时间的情况下) (2)保存在内存中(在没有设置cookice的失效时间的情况下)

3. 如果服务端的cookice和客户端已有的cookice重名则会覆盖原有的cookice

4. 如果要想清除某个cookice的话可是设置它的失效时间小于当前的日期即可cookie.Expires = DateTime.Now.AddDays(-1);

Web,数据,状态,保持,的,Cookie,解释,以及,原理
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部