目录:
● 介绍
● Cookies是什么
● Cookies是如何开始的
● Cookies的优势
● Cookies的劣势
● 如何创建Cookies
● 如何从Cookies中读取数据
● 持久化和非持久化的Cookies
● 如何使Cookies持久化
● Cookies保存在本地硬盘的什么位置
● 如何在过期之前移除持久化的Cookies
介绍:
这个介绍呢,也稍微介绍一下鄙人啊,哈哈!以前在博客园上发布都是记录一些工作中遇到的问题,以及解决方法,说是记录,还不如说是记下来以后方便再次碰到解决问题,没有一点延续性和连贯性,我相信看到的人也是看个大概。作为一个标准的程序猿,我们应该从自身提高,So,这次通过查资料和自己Coding,算是对Cookies这个非常常见和基础的知识点有了一点自己的认识,贴出来,和大家一起学习,共同进步啊!各位有什么意见和建议,欢迎反馈!
Cookies是什么:
Cookies是一个很小的文件,它被创建在客户端系统和客户端浏览器内存中,它被用户做状态管理。当我们需要的时候,我们可以存储一些小的信息在客户端系统中。Cookies是存储的是纯文本的txt格式,如果Web应用程序需要用Cookies,服务器将发送一个Cookies到客户端浏览器中,并存储起来。当下一次页面被访问的时候,客户端浏览器将发送该Cookies到服务器。最常见的使用Cookie是的例子是存储用户信息、用户的偏好设置、被保存记住的密码等等。Cookie是有一些有一些优势和劣势,我将在下面的文章中说道,但是首先,我们来看一下Cookies是如何开始的。
Cookies是如何开始的:
当客户端请求服务器的时候,服务器发送一个Cookie是到客户端,在下一次的请求中,同样的Cookie是被再次使用。例如:
当我们在浏览器中访问www.codeproject.com的时候,该地址的服务器段将生成一个包含有Session ID的Cookies,并将该Cookie是相应请求,返回给客户端。
当客户端再次访问该网址的时候,将依然使用该Cookies和Session ID。客户端浏览器和服务器段通过Cookies来交换信息。不同的网址,浏览器保存的Cookie是是不同的。当URL被点击的时候,如何页面需要从Cookie是处得到信息,它将去客户端本地的磁盘中找,并将Cookies中的信息发送给客户端。
Cookies的优势:
下面列出了在Web应用程序中Cookies的主要的优点:
● 使用和执行非常的简单
● 本地浏览器保存数据
● 不同的网址,浏览器将自动区分它们
Cookies的劣势:
下面列出了在Web应用程序中Cookies的主要的优点:
● 保存的格式是最简单的纯文本txt格式,一点也不安全
● Cookies保存的数据大小有限制(4096 bytes / 4KB)
● Cookie是被保存的最大的数目也有限制,大部分浏览器只能保存20个,如果有新的Cookies,旧的Cookies将被替换。
● 如何用户设置浏览器为高安全模式,Cookie是将不能工作;(具体怎么设置,我在下面的文章中有介绍)
如何创建Cookies:
创建Cookies需要引入命名空间System.Web
using System.Web;
创建Cookies并将它添加到一个Web响应中
Cookies将一直存在直到浏览器关闭,如何能让Cookies关闭浏览器还存在呢,我下面文章有介绍!
如何从Cookies中读取数据:
在读取Cookie之前,检查Cookies是否存在是一个好的习惯。因为浏览器可能将Cookies关闭。
持久化和非持久化的Cookies:
Cookies的类型可以分成两种:
● 持久化的Cookies
● 非持久化的Cookies
持久化的Cookies:它被保存在本地的硬盘中直到过期,持久化Cookies应该设置过期时间。它们被保存在本地,直到用户删除它。
持久化的Cookies:它们也被称为临时Cookies。如果它不设置过期时间的话,它将被存储在浏览器的内存中。
So,持久化Cookies和非持久化Cookies之间不同的地方就是持久化Cookies设置了过期时间,而非持久化没有设置,为默认过期时间。
如何使Cookies持久化:
要是Cookies持久化,就要增加Cookies的过期时间。
//Creting a Cookie Object HttpCookie _userInfoCookies = new HttpCookie("UserInfo"); //Setting values inside it _userInfoCookies["UserName"] = "Abhijit"; _userInfoCookies["UserColor"] = "Red"; _userInfoCookies["Expire"] = "5 Days"; //Adding Expire Time of cookies _userInfoCookies.Expires = DateTime.Now.AddDays(5); //Adding cookies to current web response Response.Cookies.Add(_userInfoCookies);
Cookies保存在本地硬盘的什么位置:
首先打开"文件夹选项”—"查看"--勾选"显示隐藏的文件、文件夹和驱动器”;
位置:“C:\Users\当前用户的名称\AppData\Local\Microsoft\Windows\Temporary Internet Files”
如何在过期之前移除持久化的Cookies:
HttpCookie _userInfoCookies = new HttpCookie("UserInfo"); //Adding Expire Time of cookies before existing cookies time _userInfoCookies.Expires = DateTime.Now.AddDays(-1); //Adding cookies to current web response Response.Cookies.Add(_userInfoCookies);
OK!先到这里吧,各位有什么意见和建议,欢迎留言和拍砖!(*^__^*) 嘻嘻……