`
m635674608
  • 浏览: 5029044 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

详解cookie

    博客分类:
  • java
 
阅读更多

什么是Cookie,它有什么用处?

Cookie是网站存放在客户端的一小段数据。一般的,网站为了提升用户体验,在客户的客户端中保存用户的历史信息,以备用户再次访问时网站能提供 更方便,更有针对性的服务。比如,网站可以记住你的登录状态,只要登录一次下次访问就不用在登录;购物网能记住你浏览过的产品,保留你购物车中的物品。这 些都有Cookie的功劳。

Cookie对网站分析又有什么作用?

网站分析是以数据为基础的,而数据的采集需要借助网站分析工具。主流的网站分析工具主要分两种类型:日志型和页面脚本型。 这两种类型工具的一个区别就在于对Unique Visitor的区分很判断。当网站有很多次访问的记录的时候,如何判断那些访问来至同一个用户。日志型的分析工具,一般通过访问的来源IP地址进行判 断,通过相同IP地址的访问被认为来至同一个用户。页面脚本型的分析工具,就需要根据Cookie的记录来判断不同的访问是否来至不同的用户。这类的工具 会在Cookie中存放用来标识唯一用户的ID,每个浏览器得到的ID都是不同的。用户访问时检查Cookie中的ID,ID相同的访问被认为来至同一个 用户,否则,则是不同用户的访问。

Unique Visitor的判断对于网站分析来说非常重要,以致于分析工具在Cookie中存储的其他信息都显得不那么重要了。Unique Visitor并不仅仅是一个Metric,更重要的是,Unique Visitor把跨越多次访问的事件联系在一起。想象一下,一个访客通过一个广告来到网站,在这次访问离开前没有进行任何购买,但有把网站的网址加入到书 签。过了几天,这个访客通过点击书签,又访问了我们的网站,最后购买了一些商品。这时,如果没有Unique Visitor来关联,那点击广告和购买商品的行为是没有任何关联的,我们无法知道访客点击的广告为最后的购买所做的贡献。可见,Cookie对网站分析 是多么重要,通过Cookie,才能将多次访问中的事件串联起来。

Cookie的技术细节

(纯技术,不喜跳过)

  1. Cookie是如何工作的?

    比如,我们访问一个网站,来到了登录的页面。页面需要我们输入用户名和密码,同时下面有一个选项,叫“保留我的登录状态”,如果输入了用户名,密 码。为了下次在来这个网站,不用再重新输入,我们激活了保留状态的选项。最后点了提交。这时,我们的浏览器就会和网站服务器之间通过HTTP协议进行链 接,提交刚才输入的内容和选择。服务器收到以后,会判断这个用户名密码是否正确,因为我们需要保留状态,就需要设置Cookie来记录状态。那服务器会在 返回的HTTP数据包的头部包含SetCookie这个指令来告诉浏览器要保存的Cookie。浏览器收到以后会把这个Cookie加密存储到电脑上。这 个Cookie记录的一般是用户在这个网站的唯一的ID。之后,只要每次访问这个网站(只要还是这个域名),我们的浏览器在请求这个网站服务器数据的时 候,都会在HTTP请求数据包的头部增加一条包含Cookie数据的信息,比如这里会告诉服务器:“我是你的用户,我的ID是9527。”那服务器收到这 个信息,就不会再提示登录,而我们就已经是登录的状态了。

  2. Cookie的生命周期

    Cookie的生命周期有两种,一种是整个会话的,一种是永久 的。也就是说,一种是临时性的Cookie,用户关掉浏览器,这个Cookie也就失效了。一种是永久的Cookie,可以持续存在的。一般网站分析工具判断Unique Visitor使用的是后者。

第一方和第三方Cookie的区别

第一方Cookie和第三方Cookie,都是网站在客户端上存放的一小块数据。他们都由某个域存放,只能被这个域访问。他们的区别其实并不是技术 上的区别,而是使用方式上的区别。比如,访问www.a.com这个网站,这个网站设置了一个Cookie,这个Cookie也只能被www.a.com 这个域下的网页读取,这就是第一方Cookie。如果还是访问www.a.com这个网站,网页里有用到www.b.com网站的一张图片,浏览器在 www.b.com请求图片的时候,www.b.com设置了一个Cookie,那这个Cookie只能被www.b.com这个域访问,反而不能被 www.a.com这个域访问,因为对我们来说,我们实际是在访问www.a.com这个网站被设置了一个www.b.com这个域下的Cookie,所 以叫第三方Cookie。

上面这么多看完还没有绕晕的请继续。

第一方Cookie的优势和应用

第一方Cookie的最大优势是接受率高。一般主流的浏览器的都会有隐私的设置,可以让用户设置是否接受Cookie,接受哪些Cookie。除了 完全不接受Cookie这个设置以外,其他情况下,第一方Cookie都是会被用户接受的(不接受的话,是没办法把那小块数据保存下来的)。所以,如果没 有特殊要求,使用第一方Cookie会比第三方Cookie,我们通过分析工具得到的数据会更准确。

第三方Cookie的优势和应用

第三方Cookie的接受率不如第一方Cookie(不过主流的浏览器默认的设置下也接受带P3P协议的第三方Cookie,我的经验是接受率能达 到90%,甚至95%以上),但在某些特定情况下可以实现第一方Cookie无法实现的功能。比如,当我们有多个域名的网站需要跟踪,我们希望了解到用户 点击某个广告到达域名A下的网页,然后可能浏览了不论那个域名下的页面,最后在域名B下的网页完成注册的情况。广告可以在域名A下的网页被跟踪到,而注册 可以在域名B下的网页跟踪到。如果我们使用第一方Cookie,会为域名A建立一个Cookie,为域名B再建立一个Cookie,他们可以关联各自域名 下网页上的行为,但是无法关联起来。而使用第三方Cookie,那么无论多少个域,都只有一个Cookie,一个属于第三方域的Cookie,网站下所有 域都能共享这个Cookie,那么所有的行为都能被关联起来分析。

结论

对于通过脚本型的网站分析工具来获取数据

  1. Cookie是必须的,离开Cookie我们什么也分析不了。
  2. 第一方Cookie接受率高,更准确,没有特殊需要就用他。
  3. 第三方Cookie可以跨域跟踪,特别需求可以应用。

 

 

http://blog.csdn.net/lvsmaster/article/details/6945736

分享到:
评论

相关推荐

    Cookie、Session机制详解.doc

    Cookie、Session机制详解 Cookie机制是Web程序中常用的技术,用来跟踪用户的整个会话。Cookie通过在客户端记录信息确定用户身份。Cookie机制可以弥补HTTP协议的无状态特性,使服务器可以从客户端获取用户信息,以便...

    Cookie详解.pdf

    Cookie 详解 Cookie 是一种在 Web 应用程序中存储用户特定信息的方法。它是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。 ...

    详解cookie验证的php应用的一种SSO解决办法

    标题中的“详解cookie验证的PHP应用的一种SSO解决办法”是指使用Cookie进行身份验证的单点登录(Single Sign-On, SSO)解决方案在PHP环境下的实施。SSO允许用户在一个应用系统中登录后,无须再次认证即可访问其他...

    Cookie-Session机制详解.docx

    Cookie-Session 机制详解 Cookie 机制是 Web 程序中常用的技术,用来跟踪用户的整个会话。Cookie 通过在客户端记录信息确定用户身份。Cookie 的工作原理是当客户端请求服务器,如果服务器需要记录该用户状态,就...

    第九节 cookie的httponly设置-01

    Cookie 的 HttpOnly 设置详解 Cookie 是一种小型文本文件,由 Web 服务器保存在用户浏览器(客户端)上,用来存储用户信息。Cookie 通常用于辨别用户身份、进行 session 跟踪。Cookie 可以包含一些不敏感的信息,如...

    设置跨域名的Cookie

    【跨域名 Cookie】知识点详解 Cookie 是Web开发中不可或缺的一部分,它主要用于存储用户信息,如登录状态、个性化设置等,从而提升用户体验。然而,出于安全考虑,浏览器默认禁止Cookie跨域传输,即一个域下的页面...

    第十六节 Cookie注入-01

    Cookie 注入攻击详解 Cookie 是一种小型文本文件,存于用户的计算机上,用于存储用户信息,以便服务器在后续访问时能够识别用户的身份。Cookie 的主要功能是:判定注册用户是否已经登录网站,用户可能会得到提示,...

    Cookie&SessionJsp-授课

    Cookie 的 API 详解可以使得开发者更好地理解 Cookie 的作用和应用场景。Cookie 有大小、个数限制,每个网站最多只能存 20 个 Cookie,且大小不能超过 4KB。同时,所有网站的 Cookie 总数不超过 300 个。 2.3 ...

    java web cookie 详解 java web cookie 详解

    java web cookie 详解

    Day09_cookie & Session

    ### Day09_cookie & Session:详解Cookie与Session的用法及生命周期 在现代Web开发中,维护用户状态是一项至关重要的任务。Cookie与Session是实现这一目标的两种主要机制。本文将深入探讨这两种技术的工作原理、...

    Cookie与session机制详解

    ### Cookie与Session机制详解 #### 一、Cookie与Session的概念及区别 在Web开发中,为了保持用户的状态信息,通常会用到两种技术:Cookie和Session。这两种技术都是用来跟踪用户的浏览活动,但它们的工作原理有所...

    cookie 详解

    ### Cookie详解 #### 一、会话跟踪技术概述 会话跟踪是Web开发中的关键环节之一,用于确保用户的每次操作都被正确地关联到相应的会话中。常见的会话跟踪技术主要包括Cookie与Session。 #### 二、Cookie机制 ####...

    JSP处理Cookie的方法详解.txt

    ### JSP处理Cookie的方法详解 #### 一、Cookie概述与基本概念 Cookie是Web服务器向浏览器发送的小型数据块,用于存储用户特定的信息,以便在后续的请求中使用。每个网站可以设置最多20个Cookie,每个Cookie的大小...

    浏览器中使用JS操作Cookie详解

    并且在Cookie详解这篇文章中,介绍了如何在服务器端和使用JavaScript创建Cookie,并设置属性。 ​我们知道,Cookie是存储在客户端的,并且现在前后端分离慢慢变得流行起来,因此如何在浏览器上可以使用方便快捷的...

    session和cookie详解

    ### Session与Cookie详解 #### 一、Session与Cookie的基本概念 **Session** 和 **Cookie** 是Web开发中用于保持客户端与服务器之间会话状态的重要技术。由于HTTP协议本身是无状态的,即服务器无法自动记录客户端的...

    Cookie,Session,Token详解.pdf

    根据提供的文件信息,以下是对文件《Cookie,Session,Token详解.pdf》中知识点的详细解读: 1. Cookie的相关知识 1.1 Cookie不是缓存。它是由服务器创建并存储在客户端的一小段文本信息,通常以字典(键值对)的...

    axios携带cookie配置详解(axios+koa)

    在前端使用axios发送请求时,如果不进行特殊配置,跨域请求默认是不会携带cookie的。为了使axios在跨域请求时携带cookie,需要在axios的配置中设置`withCredentials`为`true`。这一配置的含义是指示axios在跨域请求...

    axios中cookie跨域及相关配置示例详解

    本文将详细讲解如何在Axios中配置Cookie跨域以及相关的后端设置。 首先,我们要明确一点:默认情况下,Axios在发起跨域请求时并不会携带Cookie。这是因为浏览器的安全策略限制,为了防止跨站脚本攻击(Cross-Site ...

    【JavaScript源代码】详解操作cookie的原生方法cookieStore.docx

    JavaScript中的Cookie管理和操作是Web开发中的基础技能,用于存储客户端数据。传统的操作方式主要依赖于`document.cookie`属性,但这种方式存在一些限制,比如字符长度限制、无法直接操作多个Cookie等。随着浏览器...

Global site tag (gtag.js) - Google Analytics