详细解读Cookie学习笔记

简介: 详细解读Cookie学习笔记

1.简介

1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存。并且读可以取出来的一种技术。

2.当你浏览某网站时,由web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户id、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的cookie发送到服务器去,服务器通过读取cookie,得知你的相关信息,就可以做出相应的动作。比如,显示欢迎你的小标题,不用填写帐号密码直接登录等。。

3.不同的浏览器存储的cookie位置是也不一样的。cookie文件的信息是不安全的,所以cookie里面的数据最好加密。

4.浏览器保存cookie数据有2中形式:浏览器的内存中,浏览器所在的电脑硬盘中。

从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-value

pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。(摘自网络)

并非所有浏览器都支持。数据信息是以文本的形式保存在客户端计算机。

2.Cookie的基本用法

(1) 将Cookie写入浏览器:

1 HttpCookie makeCookie = new HttpCookie("myCookie");//括号里面写的是Cookie的名称

2

3 makeCookie.Value = this.TextBox1.Text;//这个是Cookie的值

4

5 Response.Cookies.Add(makeCookie);//添加cookie变量

(2)读取Cookie的值

1 HttpCookie readCookie = Request.Cookies【"myCookie"】;//读取的是使用Request返回的值

2 TextBox2.Text = readCookie.Value;

(3)设置cookie的有效期

1 HttpCookie cookie = new HttpCookie("name","Elaine"); //创建cookie的实例。

2 cookie.Expires = DateTime.Now.AddDays(5);//设置cookie的过期时间,5天后过期,自动清除文件

3 Response.Cookies.Add(cookie);//将创建的cookie文件输入到浏览器端

4 Response.Write(Request.Cookies【"name"】.Value); //读取cookie文件中存储的值

(4)删除Cookie,没有特定的方法,只需要让它的有效期失效就行了

1 cookie.Expires = DateTime.Now.AddMonths(-1); //cookie的销毁

(5)Cookie的其他属性

HttpCookie makecookie = new HttpCookie("myCookie");

指定Cookie的名称:makecookie.Name;

指定Cookie的值: makecookie.Value;

指定Cookie的路径:makecookie.Path;

(6)Cookie加密

?1Response.Cookies【"strPWD"】.Value = FormsAuthentication.HashPasswordForStoringInConfigFile(加密字符串, "md5");

3.cookie读写原理

Cookies集合是附属于Response对象及Request对象的数据集合,使用时需要在前面加上Response或Request。

用于给客户机发送Cookies的语法通常为:

当给不存在的Cookies集合设置时,就会在客户机创建,如果该Cookies己存在,则会被代替。由于Cookies是作为HTTP传输的头信息的一部分发给客户机的,所以向客户机发送Cookies的代码一般放在发送给浏览器的HTML文件的标记之前。

如果用户要读取Cookies,则必须使用Request对象的Cookies集合,其使用方法是:

需要注意的是,只有在服务器未被下载任何数据给浏览器前,浏览器才能与Server进行Cookies集合的数据交换,一旦浏览器开始接收Server所下载的数据,Cookies的数据交换则停止,为了避免错误,要在程序和前面加上response.Buffer=True。

4.怎么查看Cookie的位置

打开IE》Internet选项》常规》

5.代码示例

案例一:

下面来完成一个登陆实例:

总共有两个页面,一个登陆页面,一个主页;

页面效果:

提示:

首先在登陆页前台的HTML代码里面的head标记里面的Title添加ID=”pageTitle

还有需要在web.config中把改为以下结果:

?1234567

具体代码:

登陆页:

前台:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CookieLogin.aspx.cs" Inherits="Cookie" %>

2

3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

4

5

6

7

相关文章
java202304java学习笔记第五十三天员工管理-会话跟踪技术-cookie之2
java202304java学习笔记第五十三天员工管理-会话跟踪技术-cookie之2
30 0
java202304java学习笔记第五十三天员工管理-会话跟踪技术-cookie之1
java202304java学习笔记第五十三天员工管理-会话跟踪技术-cookie之1
32 0
|
存储 前端开发 Java
Cookie | 学习笔记
快速学习Cookie.
Cookie | 学习笔记
|
存储 前端开发 JavaScript
【Django学习笔记 - 6】:cookie的配置
【Django学习笔记 - 6】:cookie的配置
335 0
【Django学习笔记 - 6】:cookie的配置
|
Java 开发者
Cookie操作|学习笔记
快速学习Cookie操作
Cookie操作|学习笔记
|
存储 XML 编解码
【JavaWeb】会话的学习笔记:Cookie和Session的知识点,这一次我总算学明白了
本文章摘取了会话:Session和Cookie的用法、原理、细节,有助于JavaWeb的学习!
|
Java 开发者
Cookie操作|学习笔记
快速学习Cookie操作,解决Cookie问题
Cookie操作|学习笔记
|
存储 前端开发 Java
Cookie | 学习笔记
快速学习Cookie.
115 0
Cookie | 学习笔记
|
Java 开发者
Cookie操作|学习笔记
快速学习Cookie操作
Cookie操作|学习笔记
|
Java 开发者
Cookie 入门|学习笔记
快速学习 Cookie 入门