您的位置:知识库 » .NET技术

Cookie是什么?用法是怎样?与SESSION有什么区别?(一)

作者: gengdian  来源: RDC  发布时间: 2010-01-19 15:16  阅读: 7172 次  推荐: 1   [收藏]  

  Cookie是什么?用法是怎样?与SESSION有什么区别?

  一 Cookie简介

  因特网的Cookie技术极其简单,却有着旺盛的生命力。Cookie开始引起众人的注意是从2000年二月份随着网络隐私权的提出开始的,有关的辩论至今仍在继续。从另一方面来说,Cookie使得浏览网页更容易了。几乎所有的主要的网站设计者都使用了Cookie,因为他们想为浏览网站的人提供一个更好的浏览环境,同时也能更加准确地收集访客的信息。

  一家颇有影响的报纸上曾刊登了一篇很有深度的关于网络隐私的文章,上面对于Cookie的定义是这样的:

  “Cookie是Web网站放在您的硬盘上的程序。它守在您的电脑里,搜集您的信息以及您在因特网上所做的任何事情,当Web站点需要的时候它能够下载所有这些搜集到的信息。”

  像这样的定义在报刊中相当普遍。问题是,它的定义犯了很大的错误。Cookie不是程序,而且它不能像程序一样地运行,所以它无法为自己搜集任何信息。它也不能从您的电脑上取得您的任何个人资料。

  Cookie的比较确切的定义应该是这个样子:

  “Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。信息的片断以‘名/值’对(name-valuepairs)的形式储存。”

  举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。

  如果您使用IE浏览器访问Web,您会看到所有保存在您的硬盘上的Cookie。它们最常存放的地方是:c:\windows\cookies(在 Win2000中则是C:\DocumentsandSettings\您的用户名\Cookies——作者注)。在我的机器上共有165个文件。每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的Web站点的信息。

  在这个文件夹里的每个Cookie文件都是一个简单而又普通的文本文件。透过文件名,您可以看到是哪个Web站点在您的机器上放置了Cookie(当然站点信息在文件里也有保存)。您也能双击打开每一个Cookie文件。

  比如,我访问了goto.com,而且这个站点在我的电脑上放了个Cookie。goto.com的Cookie文件包含了这样的内容:

  UserIDA9A3BECE0563982Dwww.goto.com/

  goto.com在我的电脑上存入了一个单一的“名/值”对。“名/值”对的“名”是UserID,“值”是A9A3BECE0563982D。在我第一次访问goto.com的时候,该网站为我分配了一个唯一的ID并存在我的电脑里。

  (注:除了上面举例的“名/值”对,可能会有其它的“名/值”对同时保存下来。那是浏览器的一些内部信息,一般用户不必多做了解。)

  Amazon.com在我的电脑上保存了稍稍多一些的信息。当我查看Amazon在我的电脑上建立的Cookie文件时,它包含以下内容:

  session-id-time954242000amazon.com/
  session-id002-4135256-7625846amazon.com/
  x-maineKQIfwnxuF7qtmX52×6VWAXh@Ih6Uo5Hamazon.com/
  ubid-main077-9263437-9645324amazon.com/

  以上内容显示出Amazon存储了一个主用户IDubid-main,一个标记每次任务的IDsession-id及任务发生的时间session-id-time。还有一个x-main,不知道是什么。

  大多数的网站在您的电脑上只保存一条信息,即用户ID。但一个站点可以用Cookie存储的“名/值”对的最大数目没有任何限制。 

  一个“名/值”对仅仅是一条命名的数据,它不是程序,也不能“做”任何事情。一个网站只能取得它放在您的电脑中的信息,它无法从其它的Cookie文件中取得信息,也无法得到您的电脑上的其它任何东西

  英文直接翻译过来的意思呢就是小甜品 Cookie英文意指饼干,不过在电脑术语中它可不像饼干那么简单。简单的说,Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机。当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都记录下来。当下次你再光临同一个网站,Web服务器会先看看有没有它上次留下的Cookie资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你。

  Cookie的使用很普遍,许多提供个人化服务的网站,都是利用Cookie来辨认使用者,以方便送出使用者量身定做的内容,像是Web接口的免费 E-mail网站,都要用到 Cookie。Cookie中记载的资料相有限,Cookie是安全的。网站不可能经由Cookie获得你的E-mail地址或是其它私人资料,更没有办法透过Cookie来存取你的计算机。但是如果你实在不喜欢Web服务器乱丢饼干(Cookie)到你家,当然可以让浏览器拒绝网站存放Cookie到你的计算机。只要在IE的“工具”菜单下选择“Intertnet选项”的“安全”,按自定义级别,将Cookie部分设为关闭,按确定,关闭浏览器,再重新启动浏览器即可。当你关闭Cookie之后,很多网站的个人化服务功能很可能也不能再使用了. 

1
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻