`
hz_chenwenbiao
  • 浏览: 1007834 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Cookie工作原理(转)

阅读更多

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文件内容也一起发送出去,而当一个站点设置了cookie的功能时,浏览器会将站点要求的cookie文件内空写入到客户机指定的cookie文件存放目录,所以cookie操作是由浏览器来完成的,而浏览器又会对cookie操作作限制的,所以它不会去扫描你的整个盘的信息,而只是扫描一下你的cookie文件夹,所以不会上传用户的个人信息。

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服务器可以在你访问站点时,随时的更改“键-值”对或者加入一个新的“键-值”对。  
  6. 同“键-值”对发送到客户端的还有同这个“键-值”对相关的一些其它信息,其中之一就是Cookie有效期,另一个就是路径(为了在同一个站点的不通部分关联不同的Cookie)。  

    
  你能够控制这个过程,你可以在你的浏览器中设置当web站点向你的机器发送Cookie时你是接受还是拒绝,可以在浏览器的Intnet选项里设置,也可以查看你的cookie所存放的本机的地方,如我的是存放在C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files,而当我进入C:\Documents and Settings\Administrator\Local Settings\目录时,竟然没有Temporary Internet Files目录,我就直接在地址栏输入回车才出现,可能是为了安全吧,因为另一个人用你的电脑也可以看到你的cookie信息,并且将它拷到它的机上的话应该就可以直接使用,所以如果你是登陆一个网站,而该网站又是以cookie进行验证,而且如果你的cookie没过期,那么人家就可以使用你的cookie来进行登陆了,然后修改你的信息或帮你下定单


Web站点怎么使用Cookies     
    
  Cookies得到发展是因为它解决了谁在访问某个站点这个大问题,广义的理解,Cookies允许一个站点在你的机器上保存状态信息,这个信息让web 站点记住你的浏览器在什么状态,一个userID这个简单的“键-值”对可以让web站点知道你以前访问过这个站点,状态就是“你的浏览器至少访问过这个 站点一次”,并且,站点从这次访问可以得知你的user   ID。   
    
  Web站点通过许多不同的方法来使用Cookies,下面是一些例子:

  1. 站点能够精确的知道有多少访问者在实际的访问站点,它能排除哪些因为代理服务器,缓冲器,集中器等等带来的干扰,正确统计站点访问数的唯一方法是为每一个 来访者设置一个唯一的ID,并存在Cookie中,用Cookie,站点能够:  
  2. 决定有多少访问者到达。  
  3. 决定多少新的访客,多少是再次造访者。  
  4. 确定一个访问者访问的频度  

    
  web站点要做到这些是通过使用一个数据库,一个来访者第一次到来,站点在数据库中建立一个新的user   ID,并且将这个user   ID做为Cookie发送到客户端,这个用户下次再次访问这个站点,站点将会在数据库中同这个用户关联的user   ID   记录中增加访问次数,因此也知道了此用户多久访问一次。     
    
    为了查看每个用户的不同之处,站点可以存储用户的参数,比如,一些站点提供改变内容、布局、颜色设置的能力,它或者能够根据你的邮政编码提供定制的天气信息。   
    
  大多数的站点似乎都象这样的在站点数据库中保存用户参数,在Cookie中除了存储一个user   ID别的信息都没有,但是要在“键-值”对中存储一个实际的值还有另外一个方法:     
    
    电子商务站点能够实现类似购物蓝和快速付款这些功能,用包含user   ID的Cookie来跟踪客户并将不同的商品放入你的购物蓝中,你放入购物蓝的每一个商品都将存放在数据库中同你的user   ID相关的记录中,当你付款时,站点知道你都采购了哪些商品。若是没有Cookie或者类似的技术,将不可能实现上述的功能。   
    
  在所有的这些例子中,注意,数据库被用来存储你在站点中选择的商品,你浏览过的页面,你在表单中提供的信息等等,所有的信息都被保存在站点的数据库中,只有你的user   ID是存储在客户端的Cookie中用以辨识用户的身份。
   
Cookies的问题   
    
      
    
  Cookies不是一种理想的状态机,但是它的确能够做到许多别的方式不能做到的事,下面是Cookies的一些缺点:   
    
      
    

  1. 人们经常共同使用一台机器   ――   在公共场合使用的任何机器,和在办公室使用的或在家中使用的许多机器都是多人共享的机器。让我们来看你正在使用一台多人使用的机器(例如,在图书馆的机 器)在一个网上商店购买商品,商店的网站将会在这个机器上留下你的一些设置信息,其后又有别人用这台机器到这个网上商店购买商品,这个网站将会提供的是你 的一些设置。  
  2. Cookies   被删除   ――   如果你的浏览器出来问题而寻求技术支持的时候,技术支持者要你做的第一件事就是要求你首先删除你机器上的所有internet临时文件,当你这样做后,你 将丢掉你的所有的Cookies文件。当你再次访问某个站点时,站点将会想你是个新的用户并给你一个新的user   ID,你以前在这个站点设置的一些个性设置也将不在存在。  
  3. 使用多个机器   ――   人们在一天之内经常使用不止一台机器,比如,在办公室使用一台机器,在家又使用一台机器,在路上可能使用到笔记本电脑。这样在三台机器上将会用三个不通的 Cookie,同一个人在三台机器上将会被做为三个用户分别对待。


Cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有此网站的程序才能识别。 
由于Cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。

硬盘中的Cookies文件可以被Web浏览器读取,它的格式为:用户名@网站地址[数字].txt。
如本人电脑中的一个Cookies文件名为:51jiayou@5jiayou.com.cn[1].txt
这个是网上转的,我的cookie文件格式只是用户名@域名,这个文件格式与操作系统和浏览器的约定很有关系,而站点那边就不管这个,它只接收客户端提交过来的cookie信息,并分析是不是自己所要的信息,再进行处理,所以它是不理cookie存放格式,而只是要内容。



大部分的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、
人性化的浏览环境,同时也能更加准确地收集访问者的信息。
分享到:
评论

相关推荐

    COOKIE注入原理动画教程

    1. **Cookie的工作机制**:首先,我们需要了解Cookie是如何被创建、存储和发送到服务器的,以及它在用户身份验证和会话管理中的作用。 2. **注入攻击过程**:攻击者如何构造恶意的Cookie值,这些值可能包含SQL语句...

    SYN Cookie原理及在Linux内核中的实现

    SYN Cookie原理与Linux内核实现详解 SYN Flood攻击是一种常见的分布式拒绝服务(DoS)攻击手段,尤其在网络环境基于IPv4的TCP/IP协议栈中。这种攻击利用TCP协议的三次握手流程,通过发送大量伪造源地址的SYN请求,...

    php cookie工作原理与实例详解

    **PHP Cookie工作原理** Cookie是由Web服务器存储在用户浏览器中的小型文本文件,用于在客户端和服务器之间传递信息。当用户访问一个网站时,服务器可以通过设置Cookie来存储特定的数据,如用户的登录状态、偏好...

    关于session与cookie的原理简述

    【Session与Cookie原理简述】 Session和Cookie是两种在Web开发中常见的用户状态管理机制,它们主要用于在HTTP协议无状态的特性下跟踪用户状态。理解它们的原理对于编写高效的Web应用至关重要。 **Cookie原理** ...

    session和cookie交互原理

    介绍下cookie和session之间是咋交互的。原理是啥

    cookie记住账号密码

    这涉及到Web开发中的基本概念,主要包括Cookie的工作原理、安全性以及相关编程实践。 Cookie是服务器发送到用户浏览器并存储的一小块数据,它包含了特定的用户信息。当用户访问设置了Cookie的网站时,浏览器会自动...

    带你了解session和cookie作用原理区别和用法

    本资源主要介绍了session和cookie的作用原理、区别和用法,帮助读者更好地理解两者之间的关系。 Cookie概念 Cookie是浏览器端存储的一种小文本文件,用于记录用户的信息,以便在后续的访问中使用。Cookie可以根据...

    FlashCookie 不被浏览器清除的Cookie

    FlashCookie的工作原理是,当用户访问使用Flash技术的网站时,该网站可以请求在用户的本地存储设备上创建或更新一个Local Shared Object。这些对象存储在与Flash Player关联的特定目录下,而不是在浏览器的Cookie...

    Cookie浏览器

    1. **Cookie的定义与工作原理** - Cookie是由Web服务器发送到用户的浏览器并存储在那里的一小块信息,当用户再次访问同一网站时,浏览器会将这些信息返回给服务器。 - 主要分为Session Cookie和Persistent Cookie...

    cookie原理解析

    Cookie 的工作原理是,服务器向客户端颁发一个通行证,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。Cookie 实际上是一小段的文本信息。客户端请求服务器,如果服务器需要...

    cookie

    这篇博客文章深入探讨了Cookie的工作原理及其在实际应用中的使用。 首先,Cookie是由服务器端通过HTTP响应头Set-Cookie字段创建的。当用户访问一个网站时,服务器可以发送一个或多个Cookie到用户的浏览器,这些...

    Cookie的应用例子

    下面将详细讲解Cookie的工作原理、如何使用以及一些实际应用案例。 一、Cookie工作原理 Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,它存储在用户的本地硬盘上。每次用户访问同一服务器时,浏览器...

    阿里系cookie加密(acw-sc-v2)算法 ZIP包案例为雪球Cookie加密

    通过这些代码实例,我们可以学习到如何在实际项目中应用加密算法来保护用户数据,并了解前后端如何协同工作以确保cookie的安全传输。同时,这也是一个很好的机会来深入理解加密和安全原理,以及如何在实际开发中实施...

    Session的工作原理与概念详解

    ### Session的工作原理与概念详解 #### 一、Session的基本概念 在计算机科学中,特别是网络编程领域,“**Session**”一词被广泛使用,并且在不同的上下文中具有不同的含义。通常,Session指的是客户端与服务器...

    获取cookie非常好用的google插件

    如果你有编程背景并想了解其工作原理或进行自定义修改,你可以解压并研究这些源代码。 插件的使用方法可能包括: 1. 从Chrome Web Store下载并安装Edit-This-Cookie插件。 2. 安装后,插件的图标会出现在浏览器的右...

    web技术之cookie讲解

    本文将深入探讨Cookie的基本概念、工作原理、用途以及在Java中的实现。 首先,Cookie是由服务器端发送到用户浏览器并存储在本地的一小段数据。每当用户访问同一服务器时,浏览器会自动将这些Cookie发送回服务器,...

    桂林老兵cookie欺骗工具

    6. **教育与研究**:除了实际的攻击,该工具也可以作为教学材料,帮助学习者理解Cookie欺骗的工作原理和防范措施。 使用说明.txt文件可能包含了如何安装、运行以及利用桂林老兵Cookie欺骗工具的具体步骤和注意事项...

    0006010 Session与Cookie实现原理.docx

    它们都是用来处理客户端和服务器之间数据交换的方式,但它们的实现原理和使用场景各有不同。 首先,让我们来理解一下会话的概念。在生活中,一次会话就是双方连续的交流过程,比如上述例子中的对话。在软件中,会话...

Global site tag (gtag.js) - Google Analytics