P3P主要应用于网站跨域访问方面,全称为隐私偏好设定平台(platform for privacy preference, P3P)。而谈到P3P就不得不提cookie。目前大部分网站应用都使用cookie进行某种行为,比如用户信息收集、用户上网行为分析以及 session保持等等。但是在某些情况下,用户是不愿意使用cookie的。而禁止cookie又会妨碍用户使用某些重要的网站比如在线银行、网上购物 等。所以微软从ie6开始启用P3P并可以自定义隐私策略来使用cookie,而Netscape 公司早在2002 年5 月便发布了Netscape Navigator 7 软件的测试版,该软件包括与IE6十分相近的P3P功能。
以IE7为例,我们来看看隐私策略的设置:
默认情况下,ie7启用隐私策略为中。可以看到有两个阻止一个限制。
这里解释一下第一方cookie和第三方cookie。第一方cookie是指你当前访问的站点的cookie。而第三方cookie是指不是你当前访问的站点的cookie。比如你当前访问的是[url]www.abc.com[/url],但是在这个网站上嵌入了其他网站(比如[url]www.xyz.com[/url]),那么属于abc.com这个域cookie就是第一方cookie,而属于xyz.com这个域的cookie就属于第三方cookie。
再来解释有两个阻止一个限制:
第一个阻止(阻止没有紧凑隐私策略的第三方cookie),即为ie7发现存在没有紧凑隐私策略的第三方cookie时就将这个cookie在http的request中删除然后进行http请求(get或者post),“没有紧凑隐私策略”是指没有被P3P声明;
第二个阻止(阻止保存...),即不保存这样的第三方cookie,因为有些cookie是有有效期的;
第一个限制(限制保存...),即不保存这样的第一方cookie。
第一个阻止(阻止没有紧凑隐私策略的第三方cookie),即为ie7发现存在没有紧凑隐私策略的第三方cookie时就将这个cookie在http的request中删除然后进行http请求(get或者post),“没有紧凑隐私策略”是指没有被P3P声明;
第二个阻止(阻止保存...),即不保存这样的第三方cookie,因为有些cookie是有有效期的;
第一个限制(限制保存...),即不保存这样的第一方cookie。
使用“中”的隐私策略等级,可以阻止任何没有被P3P声明的第三方cookie。可以通过ie浏览器的任务栏上面的“眼睛”来查看都阻止了哪些cookie。而有些业务又必须保证这些cookie不被拦劫,那这个时候就需要使用P3P了。
P3P通过为隐私策略提供一个标准的可机读格式,以及一个能使Web浏览器自动读取和处理策略的协议解决了这个问题。正因为此,万维网联盟 (World Wide Web Consortium,W3C)制定了P3P,并把它作为Web 站点与它们的隐私策略相联系的标准方法。P3P可以启用可机读的隐私策略,而该隐私策略可以由Web浏览器和那些能显示符号、提示用户或采取其他适当行动 的用户代理工具来自动获取。其中的一些工具也可以将各个策略与用户的隐私偏好相比较,并帮助用户决定何时与Web站点交换数据。
那么P3P到底是怎样工作的呢?这里只涉及到P3P的工作原理,如何实现P3P是需要写程序的,而程序本人一窍不通,所以不做介绍,有兴趣的可以google一下,到处都是。
上面提到了第三方cookie被P3P声明。P3P声明是什么意思呢?其实就是指在某一个HTTP的response的头部插入一个P3P的头,而在同一个response中的cookie就都被此P3P声明了。这个可以通过httpwatch来查看到。
IE浏览器看到这个response中包含有P3P的头,默认就将后面的cookie(cookie1,cookie2等第三方cookie) 全部认为可信,后续的request中就会带下这些cookie一起下发请求。但是如果后续的某一个response中没有P3P头部,而同样设置了 cookie1,那么在此response后续的request中就不会带有这个cookie1了。所以如果需要使得每次request都带有这些 cookie,有两种方法:一是在一个response里插入P3P的同时插入所有相关的cookie,而后续的response中不要在插入这些 cookie;而是在每个response中都是插入P3P头。一般情况下使用第二种比较保险。
P3P就介绍到这里,更多请参考[url]http://www.w3.org/P3P/[/url]。
相关推荐
初识C++ 初识C++ 初识C++初识C++初识C++初识C++初识C++
初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算
python 列表初识,通过此代码,你能够了解到python的列表操作
jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识...
三年级信息技术课程《初识画图》课件内容 因为要参加比赛,所属机房 装不上
初识C语言.pdf
初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识...
初识ERP初识ERP
"初识计算机PPT课件" 计算机的基本概念: 计算机是一种电子设备,能够执行用户的指令,进行数据处理和存储。计算机的种类很多,可以分为台式计算机、便携式计算机、掌上计算机等。 台式计算机: 台式计算机是一...
初识EXCEL 教案 多媒体课件教师上课专用
初识数据安全系列语音教程
这个“MATLAB初识神经网络”视频教程是为那些想要入门神经网络学习者设计的,它将引导你逐步了解神经网络的基本概念和MATLAB中的实现方法。 神经网络,作为人工智能的重要分支,模仿了人脑的结构和功能,通过大量的...
- **数据引脚**:P0、P1、P2、P3等口,这些引脚主要用于数据的输入和输出。P0口通常需要外部上拉电阻支持。 - **多功能引脚**:比如P3口,除了基本的数据输入输出功能之外,还具有第二功能,如串行通信、定时器/...
【初识Excel教学设计】 Excel是一款广泛应用于数据管理和分析的电子表格软件,对于初学者来说,理解其基本功能和操作是至关重要的。本教学设计针对初中信息技术课程,旨在引导初一学生逐步熟悉Excel,帮助他们建立...
标题中的“初识A*寻路算法”表明我们要探讨的是计算机科学中的一种路径搜索算法——A*(A-star)算法。A*算法是Dijkstra算法的优化版本,广泛应用于游戏开发、地图导航、网络路由等领域,它通过引入启发式信息来实现...
本课是中学信息技术-_《初识Excel》PPT课件.ppt 的课件
第01讲 初识Java.ppt
【初识电脑朋友课件】是一份专为初学者设计的信息技术入门教程,旨在帮助初次接触电脑的朋友快速理解和掌握基本的计算机操作技能。这个课件可能涵盖了从打开电脑到使用各种常见软件的全面内容,是学习电脑基础知识的...
初识单片机知识初识单片机知识