java cookie 原理_cookies原理

Cookies基础

Cookies是web站点放置到你的硬盘上的程序。它们驻留在你的计算机上收集关于你在因特网上所做的一切事情的信息,并且web站点可以在任何时候读取到Cookies收集到的所有信息。

在新闻中这样定义是公平的,问题是,这个定义中没有一个是正确的,Cookies不是程序,它不能象程序一样能做很多事,因此它们自己不能收集任何信息,也不能收集关你你的机器的任何信息。

这里有一个关于Cookies的比较恰当的定义:

一个Cookies是web服务器存放在用户硬盘的一段文本,Cookies允许一个wen站点在用户的机器存放一些文本的信息,并可以在以后重新获取它。这个基于文本的信息存储着一些“键-值”对。

举个例子,一个web站点要为每一个来访者建立一个唯一的ID号码,并且将这个号码存储到每个来访者的机器的Cookies中。

如果你用微软的IE浏览一个web,你能够在你的硬盘看到你机器上的所有的Cookies,通常它们会驻留在目录c:\windows\cookies(win98),或者C:\Documents    and    Settings\user    name\Cookies(win2000,win    xp)    下面,当我看我的机器的这个目录的时候,我发现有165个文件。每个都是一个包含了“键-值”对的文本文件,每个站点都有一个Cookies文件。

你能够看到这个目录中的每一个文件都是一个简单的,普通的文本文件,你能够通过文件名看到是哪个web站点在你的机器放置了Cookies(这个信息也保存在了文件内容中),你可以打开每个文件查看其内容。

例如,我已经访问过了站点    goto.com,这个站点就会在我的机器上放置一个Cookie,这个Cookie文件的名字叫goto.com,包含下面的信息:

UserID    A9A3BECE0563982D    www.goto.com/站点    goto.com已经在我的机器上放置了一个单个的“键-值”对,键的名字是    UserID,键的值是    A9A3BECE0563982D,我第一次访问goto.com站点,站点分配了一个唯一的ID给我并把这个ID存放到了我的机器。

大多数的站点仅仅只在你的机器存放一个用户ID的Cookie,但这不是限制,一个站点可以在你的机器存放许多的“键-值”对,只要它喜欢。

Cookies文件只包含这些简单的“键-值”对的文本,、它不是程序,因此它不能“做”任何事情,一个web站点只能重新取得它自己放置到你硬盘的信息,它不能从其它的Cookies文件中取得信息,也不能看到你的机器的任何别的东西

Cookies数据如何移动

正如你在以上章节中看到的,Cookie数据是简单的web站点放置在你的硬盘上的“键-值”对的文本,所有的Cookies文件都是如此。Web站点保存这些数据,然后又可以取回来,一个web站点只能取回它自己存放在你机器的数据,不能看到其它的Cookie,也不能看到你机器上的其它任何东西。

Cookie数据按照下面的方式移动:

1     如果你在你的浏览器中输入了web的URL,浏览器会象这个URL的web站点发送请求,比如,你在浏览器中输入一下URL:http://www.verizon.com,浏览器会将请求发送到Verizon的web服务器,请求它的首页。

2     当浏览器发送请求时,它会查看你机器上跟域名www.verizon.com有关的Cookie文件,如果存在同www.verizon.com有关的Cookie,浏览器就会把相关的Cookie“键-值”对数据跟请求一起发送到服务器,如果不存在同www.verizon.com有关的Cookie,则浏览器不发送Cookie到服务器。

3     Verizon的web服务器收到Cookies数据和一个页面的Http请求,如果收到了Cookie“键-值”对,Verizon的web服务器将能够使用它们。

4      如果没有收到Cookie“键-值”对,Verizon的web服务器就能知道你以前没有访问过这个站点,服务器建立一个新的用户ID,并在把你所请求的页面发回到你的浏览器时,把用户ID“键-值”对发送到你的机器,你的硬盘就会驻留了对应这个站点的“键-值”对Cookie。

5   web服务器可以在你访问站点时,随时的更改“键-值”对或者加入一个新的“键-值”对。

同“键-值”对发送到客户端的还有同这个“键-值”对相关的一些其它信息,其中之一就是Cookie有效期,另一个就是路径(为了在同一个站点的不通部分关联不同的Cookie)。

6   你能够控制这个过程,你可以在你的浏览器中设置当web站点向你的机器发送Cookie时你是接受还是拒绝

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值