<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>标点符 &#187; Google</title>
	<atom:link href="http://www.biaodianfu.com/tag/google/feed" rel="self" type="application/rss+xml" />
	<link>http://www.biaodianfu.com</link>
	<description>编译自己的互联网生活</description>
	<lastBuildDate>Tue, 31 Jan 2012 01:07:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Google 用户体验指标衡量方案：HEART</title>
		<link>http://www.biaodianfu.com/google-user-centered-metrics.html</link>
		<comments>http://www.biaodianfu.com/google-user-centered-metrics.html#comments</comments>
		<pubDate>Thu, 07 Jul 2011 06:24:03 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[网站分析]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[指标]]></category>
		<category><![CDATA[用户体验]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3945</guid>
		<description><![CDATA[摘要 越来越多的产品和服务被部署在网络上，如何大规模的衡量用户体验成为一个巨大的机遇和挑战，怎样设置以用户为中心的指标来衡量网络应用关键目标的转化过程，推动产品决策成为一个可以思考的点。在这篇文章中，Google 给我们带来了目前正在使用的，以用户为中心度量的HEART体系，以及把产品目标与创建指标体系相互关联的过程。本文也包含了应用HEART指标，同时从数据驱动以及从用户为中心的角度出发，帮助产品团队决策的实例。该指标体系及其使用过程已经被Google内部各产品团队广泛认同，我们相信其他组织也能够在使用它的过程中受益。 作者关键词（Author Keywords） 指标,网站分析,网络应用,日志分析 学术分类关键词（ACM Classification Keywords） H.5.2 [信息呈现]:评估用户交互界面的方法 一般词汇 实验,人为因素,测量 简介 WEB技术的进步使得越来越多的服务基于WEB去创建，用户可以在“云端”完成很多的工作，包括哪些以前需要在本地运行的程序，如文字处理、照片编辑等。这种改变对于用户体验人士来说，需要分析服务器访问日志来跟踪产品的使用情况。依靠额外的设备，比如A/B测试工具来进行版本的迭代。但是如何以用户体验为中心的准则进行比较？如何挑选试用的指标？中间存在哪些机遇呢？ 在CHI社区，已经有了一个测量满意度的方法在进行小规模的测试和进行大规模的调查。但是在行为数据方面，建立的测量大多规模很小，使用清单的形式进行测试，如有效率（任务完成度、出错率）和效率（任务时间）。 CHI报告中没有提到的是基于大规模用户行为数据进行分析的指标。网站分区社区已经从原来的单纯分析页面的点击修改为分析页面的关键性指标，但是主要还是以商务为中心进行分析的，而不是以用户体验为中心。一些网站分析工具提供的指标大多太过笼统或只使用与电子商务网站，并不针对所有网站。 Google创建了一个的分析用户态度和行为的用户体验指标框架。从大公司自身的经验出发来创建更广范围的方法。我们发现现在的框架对于Google自身份产品已经能足够的满足需求。同事也期望再大规模用户数据上挖掘出更多的指标。 相关工作 近年来已然有很多工具来帮助网站应用和服务跟踪分析：免费或收费的分析工具(Google Analytics/Omniture)；利用现代分布式系统(简化数据处理/Apache Hadoop)或者特化的程序语言(Parallel Analysis)对大量日志数据进行用户分析；根据用户行为对访客群体进行细分的网络数据挖掘技术(Web User Traffic Composition)；很多供应商均提供的用户调查与易用性测试（UserZoom）以及可控的A/B测试等。 除开实施与使用过程的因素，如何有效率的使用这些工具仍然存在很大挑战。标准的网站分析指标对于特定的某些产品目标或者研究课题显得太过一般化。在压迫性的巨量数据面前，如何分离出有效的数据，如何指导商业行为与决策是很困难的。很多专家建议关注少数关键性业务指标或者用户指标，利用他们监测商业活动，但我们在实践中发现说起来容易做起来难，产品团队不会告诉你，也未必能清晰的定义目标是什么，因此让选择监测指标十分困难。 很显然这些指标不能单独拿来用，它们应当配合其他信息来源使用，比如配合可用性报告和实地考察来帮助决策。同样的，它们对于线上的产品也十分有用，对于早期用户探索的作用是无可替代的。因此，我们想要探索出一个整合大规模用户行为和趋向数据的体系，用于补充公司现有的用户体验研究方法。 PULSE 指标 PULSE是基于商业和技术的产品评估系统，被很多组织和公司广泛应用于跟踪产品的整体表现。构成PULSE指标主要有： Page view/页面浏览量 Uptime/响应时间 Latency/延迟 Seven days active user/7天活跃用户数 Earning/收益 这些指标非常重要，并且和用户体验息息相关，比如一个产品如果经常访问无响应或者延迟很高是无法吸引用户的。一个电子商务网站的下单流程如果步骤过多就很难赚到钱。一个用户体验佳的产品在PV和用户量上应当是会不断增长的。但是这些指标要么太表面化，要么只是间接和用户体验相关，很难用来评估改变交互界面对于用户的影响。并且他们也经常产生负面的互相影响——比如一个特定功能页面的PV上升可能是由于这个功能真的很棒，或是界面让用户迷惑，而想通过不断的点击尝试离开。改变所带来短期的价值提升，但糟糕的用户体验长期来说会造成用户的流失。在一段特定时期内的用户指标数，例如七天活跃用户数常常被用做用户体验指标。该指标度量了整个用户群，但没有反映用户对于产品的深入程度，比如七天之内来访的频数，同样它也没有区分新老用户群体。在最糟糕的情况下，100%的活跃用户都是新访客，但活跃用户总数仍在不断增加，这对于产品来说显然是失败的。 HEART指标 基于PULSE中存在的不足，结合用户体验质量以及让数据更有实际意义的需求，我们提出了一个作为补充的度量框架：HEART。 Happiness/愉悦度 Engagement/参与度 Adoption/接受度 Retention/留存率 Task success/任务完成度 这五项仅仅是指标体系的范畴，不同的产品可据此定义具体的指标，用以监控完成目标的过程。愉悦感结合用户的满意度来度量，任务完成度结合任务完成的效果和效率来度量。参与度、接受度、留存率是全新的范畴，一般通过广泛的行为数据来制定。通常并不适合在一个指标设定中用到所有维度，但可以参考该框架来决定是包括或排除某个维度。比如用户是要将使用你的产品作为工作的一部分，在这种企业环境下参与度就没有什么意义了。在这个案例中可以考虑选择愉悦感或者任务完成度。 我们的这个框架起源于我们在跟踪用户为中心的度量的经验发展起来的。我们已经开始看到我们正在使用、仅以使用和认识到需要使用的指标加入到框架中，让这个框架更加有价值和更加让人印象深刻，以便供更多人使用。 愉悦感 愉悦感是设计用户体验中的主观感受问题，像满意度、视觉感受、向别人推荐的意愿、易用性感知。可以通过好好设计问卷长时间监控相同的指标来看设计修改后带来的变化。 例如，我们有个性化首页的服务(iGoogle)。团队利用产品内置的检测手段，跟踪了一周内一系列的指标来研究改版和新功能的影响。在一次大改版之后，起初用户满意度指标是大幅下降的(利用七点雷达图)，但是随着时间推移，这个指标逐渐恢复，这表明大幅下降只是因为刚改版时的不适应。渐渐习惯这次改变之后，用户实际上是很喜欢的。有了这一信息，团队就可以更有信心的保持这次改版的设计。 参与度 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>摘要</strong></p>
<p>越来越多的产品和服务被部署在网络上，如何大规模的衡量用户体验成为一个巨大的机遇和挑战，怎样设置以用户为中心的指标来衡量网络应用关键目标的转化过程，推动产品决策成为一个可以思考的点。在这篇文章中，Google 给我们带来了目前正在使用的，以用户为中心度量的HEART体系，以及把产品目标与创建指标体系相互关联的过程。本文也包含了应用HEART指标，同时从数据驱动以及从用户为中心的角度出发，帮助产品团队决策的实例。该指标体系及其使用过程已经被Google内部各产品团队广泛认同，我们相信其他组织也能够在使用它的过程中受益。</p>
<p><img class="alignnone size-full wp-image-3957" title="google-heart" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/google-heart.png" alt="" width="252" height="95" /></p>
<p><strong>作者关键词</strong>（Author Keywords）</p>
<p>指标,网站分析,网络应用,日志分析</p>
<p><strong>学术分类关键词</strong>（ACM Classification Keywords）</p>
<p>H.5.2 [信息呈现]:评估用户交互界面的方法</p>
<p><strong>一般词汇</strong></p>
<p>实验,人为因素,测量</p>
<p><strong>简介</strong></p>
<p>WEB技术的进步使得越来越多的服务基于WEB去创建，用户可以在“云端”完成很多的工作，包括哪些以前需要在本地运行的程序，如文字处理、照片编辑等。这种改变对于用户体验人士来说，需要分析服务器访问日志来跟踪产品的使用情况。依靠额外的设备，比如A/B测试工具来进行版本的迭代。但是如何以用户体验为中心的准则进行比较？如何挑选试用的指标？中间存在哪些机遇呢？</p>
<p>在CHI社区，已经有了一个测量满意度的方法在进行小规模的测试和进行大规模的调查。但是在行为数据方面，建立的测量大多规模很小，使用清单的形式进行测试，如有效率（任务完成度、出错率）和效率（任务时间）。</p>
<p>CHI报告中没有提到的是基于大规模用户行为数据进行分析的指标。网站分区社区已经从原来的单纯分析页面的点击修改为分析页面的关键性指标，但是主要还是以商务为中心进行分析的，而不是以用户体验为中心。一些网站分析工具提供的指标大多太过笼统或只使用与电子商务网站，并不针对所有网站。</p>
<p>Google创建了一个的分析用户态度和行为的用户体验指标框架。从大公司自身的经验出发来创建更广范围的方法。我们发现现在的框架对于Google自身份产品已经能足够的满足需求。同事也期望再大规模用户数据上挖掘出更多的指标。</p>
<p><strong>相关工作</strong></p>
<p>近年来已然有很多工具来帮助网站应用和服务跟踪分析：免费或收费的分析工具(<a href="http://www.google.com/analytics">Google Analytics</a>/<a href="http://www.omniture.com/">Omniture</a>)；利用现代分布式系统(简化数据处理/<a href="http://hadoop.apache.org/">Apache Hadoop</a>)或者特化的程序语言(Parallel Analysis)对大量日志数据进行用户分析；根据用户行为对访客群体进行细分的网络数据挖掘技术(Web User Traffic Composition)；很多供应商均提供的用户调查与易用性测试（<a href="http://www.userzoom.com/">UserZoom</a>）以及可控的A/B测试等。</p>
<p>除开实施与使用过程的因素，如何有效率的使用这些工具仍然存在很大挑战。标准的网站分析指标对于特定的某些产品目标或者研究课题显得太过一般化。在压迫性的巨量数据面前，如何分离出有效的数据，如何指导商业行为与决策是很困难的。很多专家建议关注少数关键性业务指标或者用户指标，利用他们监测商业活动，但我们在实践中发现说起来容易做起来难，产品团队不会告诉你，也未必能清晰的定义目标是什么，因此让选择监测指标十分困难。</p>
<p>很显然这些指标不能单独拿来用，它们应当配合其他信息来源使用，比如配合可用性报告和实地考察来帮助决策。同样的，它们对于线上的产品也十分有用，对于早期用户探索的作用是无可替代的。因此，我们想要探索出一个整合大规模用户行为和趋向数据的体系，用于补充公司现有的用户体验研究方法。</p>
<p><strong>PULSE 指标</strong></p>
<p>PULSE是基于商业和技术的产品评估系统，被很多组织和公司广泛应用于跟踪产品的整体表现。构成PULSE指标主要有：</p>
<ul>
<li><strong>P</strong>age view/页面浏览量</li>
<li><strong>U</strong>ptime/响应时间</li>
<li><strong>L</strong>atency/延迟</li>
<li><strong>S</strong>even days active user/7天活跃用户数</li>
<li><strong>E</strong>arning/收益</li>
</ul>
<p>这些指标非常重要，并且和用户体验息息相关，比如一个产品如果经常访问无响应或者延迟很高是无法吸引用户的。一个电子商务网站的下单流程如果步骤过多就很难赚到钱。一个用户体验佳的产品在PV和用户量上应当是会不断增长的。但是这些指标要么太表面化，要么只是间接和用户体验相关，很难用来评估改变交互界面对于用户的影响。并且他们也经常产生负面的互相影响——比如一个特定功能页面的PV上升可能是由于这个功能真的很棒，或是界面让用户迷惑，而想通过不断的点击尝试离开。改变所带来短期的价值提升，但糟糕的用户体验长期来说会造成用户的流失。在一段特定时期内的用户指标数，例如七天活跃用户数常常被用做用户体验指标。该指标度量了整个用户群，但没有反映用户对于产品的深入程度，比如七天之内来访的频数，同样它也没有区分新老用户群体。在最糟糕的情况下，100%的活跃用户都是新访客，但活跃用户总数仍在不断增加，这对于产品来说显然是失败的。</p>
<p><strong>HEART指标</strong></p>
<p align="left">基于PULSE中存在的不足，结合用户体验质量以及让数据更有实际意义的需求，我们提出了一个作为补充的度量框架：HEART。</p>
<ul>
<li><strong>H</strong>appiness/愉悦度</li>
<li><strong>E</strong>ngagement/参与度</li>
<li><strong>A</strong>doption/接受度</li>
<li><strong>R</strong>etention/留存率</li>
<li><strong>T</strong>ask success/任务完成度</li>
</ul>
<p>这五项仅仅是指标体系的范畴，不同的产品可据此定义具体的指标，用以监控完成目标的过程。愉悦感结合用户的满意度来度量，任务完成度结合任务完成的效果和效率来度量。参与度、接受度、留存率是全新的范畴，一般通过广泛的行为数据来制定。通常并不适合在一个指标设定中用到所有维度，但可以参考该框架来决定是包括或排除某个维度。比如用户是要将使用你的产品作为工作的一部分，在这种企业环境下参与度就没有什么意义了。在这个案例中可以考虑选择愉悦感或者任务完成度。</p>
<p>我们的这个框架起源于我们在跟踪用户为中心的度量的经验发展起来的。我们已经开始看到我们正在使用、仅以使用和认识到需要使用的指标加入到框架中，让这个框架更加有价值和更加让人印象深刻，以便供更多人使用。</p>
<p><strong>愉悦感</strong></p>
<p><strong></strong>愉悦感是设计用户体验中的主观感受问题，像满意度、视觉感受、向别人推荐的意愿、易用性感知。可以通过好好设计问卷长时间监控相同的指标来看设计修改后带来的变化。</p>
<p>例如，我们有个性化首页的服务(iGoogle)。团队利用产品内置的检测手段，跟踪了一周内一系列的指标来研究改版和新功能的影响。在一次大改版之后，起初用户满意度指标是大幅下降的(利用七点雷达图)，但是随着时间推移，这个指标逐渐恢复，这表明大幅下降只是因为刚改版时的不适应。渐渐习惯这次改变之后，用户实际上是很喜欢的。有了这一信息，团队就可以更有信心的保持这次改版的设计。</p>
<p><strong>参与度</strong></p>
<p><strong></strong>参与度是用户在一个产品中的参与深度，在这个维度上，通常用来作为一段时期内访问的频度、强度或互动深度的综合。比如单用户每周的访问次数，或者用户每天上传的照片数，这比总量要好——因为总量的增长可能是由更多的用户的产生，而不是更多的使用产生的。</p>
<p>例如，Gmail团队更想研究用户的参与度而非PULSE指标体系中的七天活跃用户数（只是上周使用该产品用户的简单计数之和）。我们有理由去相信，深度用户会经常检查他们的邮箱，因为他们已经形成习惯。我们选择的指标是一周内访问五天或者更多的百分比，这一指标同样也可以用来预测用户长期的留存度。</p>
<p><strong>接受度和留存率</strong></p>
<p><strong></strong>接受度和留存率指标通过特定时期内大量用户的统计（比如，7天的活跃用户数）提供强大的洞察，来定位新用户和老用户的差异问题。接受度监控特定时期内有多少新用户开始使用产品（比如，最近7天内新创建的账号），而留存率则监控特定时期内有多少用户在下稍后一个时期内仍然存在（比如，某一周的7天活跃用户在3个月后仍然在7天活跃用户中）。</p>
<p>在此“使用”和“周期”的两个概念都应当因事制宜，有时候“使用”就意味着访问网站，有时候则是到达了某个特定的页面或者完成某种互动，例如创建账户。留存率和参与度相似，它可以被定义不同周期长度，有的产品也许只需要观察周数据，有的则需要月数据或者季度数据。</p>
<p>例如，在08年证券市场暴跌的那段时间，谷歌金融在浏览量和七日活动用户指标上都有一次井喷，但无法确定数据的剧增是来自关心金融危机的新用户或是恐慌性不停查看他们的投资信息的老用户。在不知道是谁增加了这些访问量之前，决定是否要改版网站以及如何进行修改十分困难的。我们利用接受度和留存率这两个指标来区分用户群体，同时还关注了新用户继续使用该服务的百分比。这类信息被我们团队利用于解读事件驱动的数据波动以及发现潜在的机会。</p>
<p><strong>任务完成率</strong><br />
任务完成率维度包括一些传统的用户体验行为指标，比如效率（如完成任务的时间），效果（比如任务完成的百分比）以及错误率。</p>
<p>例如，谷歌地图曾经有过两种不同的搜索框，一种是用户可以分开输入“目的”和“地点”的双重搜索框，另一种是单个搜索框处理所有的类别。有人觉得单个搜索框就可以胜任一切，同时又保持了效率，在之后的A/B测试中，团队测试了仅提供单个搜索框的版本。他们比较了两个不同版本的错误率，发觉用户在单个搜索框版本中能够更加有效的达成他们的搜索目的。最终，这个结果让团队非常有把握的在所有地图上移除了双搜索框功能。</p>
<p><strong>目标-信号-指标</strong></p>
<p>不管定义的用户中心的指标是怎样的，如果不能精确的和目标相关，以及能够跟踪达到目标的过程，那么都是白搭。Google提供了一个简单的流程来完成指标的设定，通过阐明产品或者功能的目标，然后定义达成的信号，最终建立特定的指标的监控方式。</p>
<p><strong>目标</strong></p>
<p>第一步是定义产品或功能的目标是什么，特别是在用户体验方面。用户需要完成什么任务？重新设计是试图达到什么？使用HEART体系来提示相关的目标（比如，是吸引新用户更重要，还是鼓励现有用户更积极参与重要？）一些有用的提示：</p>
<ul>
<li>不同的团队成员可能对于项目的目标有不同的意见。这个过程提供了一个很好的机会来收集不同的想法并且努力达成共识（并且认同选择的指标）</li>
<li>特定项目或功能的成功可能与产品的整体目标不同</li>
<li>在这个阶段无需太担心是否和如何找到相关的信号或指标</li>
</ul>
<p><strong>信号</strong></p>
<p>接下来，想想用户的行为或态度如何体现成功或失败。什么行动会表示目标已经达到？什么感受或看法能够联系到成功或失败？在这个阶段你应该思考你的这些信号的数据源可能是什么？比如，基于日志的行为信号，这些相关的行为目前有记录或者能够被记录吗？可以收集态度的信号——能否定期投放问卷吗？日志和问卷时我们最常使用的两个信号源，但还有其它的可能性（比如，使用一个面板或判断让用户评分）。一些有用的提示：</p>
<ul>
<li>选择敏感度高以及和目标特别相关的信号——只因用户体验的好坏而改变，而非其他不相干的因素。</li>
<li>有时失败比成功更容易定义（比如，放弃任务、撤销，挫折）</li>
</ul>
<p><strong>指标</strong></p>
<p>最终，想想这些信号是否可以转换为特定的指标，是否可以被方便的持续跟踪。一些有用的提示：</p>
<ul>
<li>原始统计数据会随同你的用户基数增长而增长，需要转化为常态；比例、百分率或者每个用户的平均值更有用一些</li>
<li>在确保精度上有很多挑战，基于web日志的指标，如从自动生成的数据中过滤流量（如爬虫、垃圾信息），并且确保所有重要的用户行为都被日志记录（默认情况下可能不会，尤其是在基于AJAX或基于Flash的应用中）</li>
<li>如果需要拿你的项目或产品和其他的进行对比，你可能需要在这些产品的标准指标中增加监控指标。</li>
</ul>
<p><strong>总结</strong><br />
Google已经花费数年时间来解决广泛应用的用户体验的衡量指标体系。HEART体系和目标-信号-指标的过程，已经在Google超过20个产品和项目中进行了应用。不管是数据驱动的还是用户中心的产品中，HAERT框架和目标-信号-指标过程都能帮助产品团队来做出决定。了解了那么多，再来学习下<a href="http://www.biaodianfu.com/google-user-experience.html">Google 用户体验十大准则</a>吧！</p>
<p><strong>致谢</strong></p>
<p>感谢Aaron Sedley，Geoff Davie 和 Melanie Kellar的构建和 Patrick Larvie 的支持。</p>
<p><strong>参考文献</strong></p>
<ol>
<li>Akers, D. et al. (2009). Undo and Erase Events as Indicators of Usability Problems. Proc of CHI 2009, ACM Press, pp. 659-668.</li>
<li>Burby, J. &amp; Atchison, S. (2007). Actionable Web Analytics. Indianapolis: Wiley Publishing, Inc.</li>
<li>Chi, E. et al. (2002). LumberJack: Intelligent Discovery and Analysis of Web User Traffic Composition. Proc of WebKDD 2002, ACM Press, pp. 1-15.</li>
<li>Dean, J. &amp; Ghemawat, S. (2008). MapReduce: Simplified Data Processing on Large Clusters. Communications of the ACM, 51 (1), pp. 107-113.</li>
<li>Grimes, C. et al. (2007). Query Logs Alone are not Enough. Proc of WWW 07 Workshop on Query Log Analysis: http://querylogs2007.webir.org</li>
<li>Gwizdka, J. &amp; Spence, I. (2007). Implicit Measures of Lostness and Success in Web Navigation. Interacting with Computers 19(3), pp. 357-369.</li>
<li>Kaushik, A. (2007). Web Analytics: An Hour a Day. Indianapolis: Wiley Publishing, Inc.</li>
<li>Kohavi, R. et al. (2007). Practical Guide to Controlled Experiments on the Web. Proc of KDD 07, ACM Press, pp. 959-967.</li>
<li>Pike, R. et al. (2005). Interpreting the Data: Parallel Analysis with Sawzall. Scientific Programming (13), pp. 277-298.</li>
<li>Tullis, T. &amp; Albert, W. (2008). Measuring the User Experience. Burlington: Morgan Kaufmann.</li>
<li>Weischedel, B. &amp; Huizingh, E. (2006). Website Optimization with Web Metrics: A Case Study. Proc of ICEC 06, ACM Press, pp. 463-470</li>
</ol>
<p>本文有 <a href="http://ysy.me/">YSY</a> 进行翻译，原文链接地址：<a href="http://research.google.com/pubs/pub36299.html">http://research.google.com/pubs/pub36299.html</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/e-commerce-user-analysis.html' rel='bookmark' title='电子商务网站用户群体的划分'>电子商务网站用户群体的划分</a></li>
<li><a href='http://www.biaodianfu.com/dreamhost-ssh.html' rel='bookmark' title='在DreamHost上使用SSH时会用到的命令'>在DreamHost上使用SSH时会用到的命令</a></li>
<li><a href='http://www.biaodianfu.com/new-returning-visitors-analysis.html' rel='bookmark' title='怎么对网站新用户老用户进行分析'>怎么对网站新用户老用户进行分析</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-user-centered-metrics.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Panda 更新那点事</title>
		<link>http://www.biaodianfu.com/google-panda-update.html</link>
		<comments>http://www.biaodianfu.com/google-panda-update.html#comments</comments>
		<pubDate>Wed, 29 Jun 2011 09:40:24 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3906</guid>
		<description><![CDATA[在开始阅读这篇文章之前，您需要知道的是，任何针对英文Google 的算法调整最终会迁移至中文Google，类似的算法调整在不久的时间内百度也会跟进，所有提升搜索引擎用户体验的工作不管哪个搜索引擎都会去做。 在开始将Google Panda 之前，我们先来了解下Google Panda 的来历。09年的时候Google进行了咖啡因（Google Caffeine）的更新，主要解决了谷歌的抓取和索引速度。让谷歌可以获取的更加新鲜的内容（比如我的博客，一般会在3分钟内被谷歌抓取和索引）。但是快速的抓取和索引使网页质量判断明显下降，很多无用或者重复性质的内容被索引进去。也就是Google所称的shallow-content site 肤浅内容的网站，在这些内容里面大多是伪原创的文章，也可能是一些没有参考价值的原创的内容。 针对搜索结果页的页面质量，谷歌先前推出的Google +1 也是为了解决这方面的问题。但是这对于判断一个网页的内容质量肯定不是一个完整的解决方案，于是Google Panda出现了，并且它将不断的进行算法更新。Google panda的主要目的就是剔除那些低质量的页面。即一个有效的页面过滤机制（类似百度的页面价值判断）。需要说明的是Google Panda不是针对站点的惩罚，而是通过算法进行排名的调整。与此同时，原创内容和信息将获得更好的排名，如研究、深度报道和周到详见的分析等。 Google Panda的设计原理会是哪些？ 进行定性研究（这是讲的个人，而不是一个很大的问卷），找出它们认为质量差得原因。通过算法将此部分页面排除掉。 使用结果来定义因素，将谷歌测量出来的低质量的页面进行分析建模。来匹配哪些质量差的页面。 从大量的Google Panda的讨论文章来看，Google Panda主要的判断依据是点击流(Clickstream)、页面内容(page content)和链接概况(link profiles)，只要在这三者当中表现优异，就不会被列为肤浅的网站。从大量的分析看，目前Google Panda的适用级别为网页级别，并没有细化到关键词级别。同时大量低质量页面也会在无形中给整个站点带来影响。 点击流 准确的说应该是考察的是用户参与度，或者是用户针对页面的反馈信息。主要考察指标可能是： 1、页面跳出率与页面停留时间或者回访率 数据来源：Google Analytics,Google Toolbar和搜索结果页不同链接的点击时间间隔。 单纯的跳出率不能反映页面的质量，比如说我的博客文章，用户可能看了一篇文章就达到了预期的效果，如果停留时间可可以作为参考依据。只有当两个条件（跳出率高且停留时间短）同时满足时，Google才会判定这个是个肤浅的网站。 2、被大量用户屏蔽的网站 数据来源：Google Chrome插件：Personal Blocklist (by Google) Personal Blocklist官方介绍：Personal Blocklist 扩展会将您希望阻止显示的网址样式提交给Google。当您阻止或者允许一个网址样式显示时，该扩展同时也会将展示此被阻止或者被允许的网址的搜索结果网页提交给Google。您同意Google可以自由使用此信息来改进我们的产品和服务。 3、社会化网络当中的链接流行度 数据来源：Google自己抓取主流的社会化网络中的链接，如Twitter、Facebook、delicious等。 页面内容 Google肯定会针对页面进行分析，主要考察的是页面中信息量。可能考察的信息为： 网站或页面是否存在大量的重复内容 网站或网页内包含的原创内容的占比 是否有大量的实质内容很少的页面存在 页面是否充斥大量无关广告，影响信息的接收 页面内是否有明显的SEO痕迹，有填充内容存在 如果是模板页面，模板页面的共有部分的数据量 链接情况 社会化网络中链接的流行度（前面已经提及） [...]]]></description>
			<content:encoded><![CDATA[<p>在开始阅读这篇文章之前，您需要知道的是，任何针对英文Google 的算法调整最终会迁移至中文Google，类似的算法调整在不久的时间内百度也会跟进，所有提升搜索引擎用户体验的工作不管哪个搜索引擎都会去做。</p>
<p>在开始将Google Panda 之前，我们先来了解下Google Panda 的来历。09年的时候Google进行了咖啡因（Google Caffeine）的更新，主要解决了谷歌的抓取和索引速度。让谷歌可以获取的更加新鲜的内容（比如我的博客，一般会在3分钟内被谷歌抓取和索引）。但是快速的抓取和索引使网页质量判断明显下降，很多无用或者重复性质的内容被索引进去。也就是Google所称的shallow-content site 肤浅内容的网站，在这些内容里面大多是伪原创的文章，也可能是一些没有参考价值的原创的内容。</p>
<p><img class="alignnone size-full wp-image-3907" title="google-panda-update" src="http://www.biaodianfu.com/wp-content/uploads/2011/06/google-panda-update.png" alt="" width="364" height="126" /></p>
<p>针对搜索结果页的页面质量，谷歌先前推出的Google +1 也是为了解决这方面的问题。但是这对于判断一个网页的内容质量肯定不是一个完整的解决方案，于是Google Panda出现了，并且它将不断的进行算法更新。Google panda的主要目的就是剔除那些低质量的页面。即一个有效的页面过滤机制（类似<a title="百度搜索研发部：页面价值" href="http://www.biaodianfu.com/page-value.html">百度的页面价值判断</a>）。需要说明的是Google Panda不是针对站点的惩罚，而是通过算法进行排名的调整。与此同时，原创内容和信息将获得更好的排名，如研究、深度报道和周到详见的分析等。</p>
<p><strong>Google Panda的设计原理会是哪些？</strong></p>
<ol>
<li>进行定性研究（这是讲的个人，而不是一个很大的问卷），找出它们认为质量差得原因。通过算法将此部分页面排除掉。</li>
<li>使用结果来定义因素，将谷歌测量出来的低质量的页面进行分析建模。来匹配哪些质量差的页面。</li>
</ol>
<p>从大量的Google Panda的讨论文章来看，Google Panda主要的判断依据是<strong>点击流(Clickstream)、页面内容(page content)和链接概况(link profiles)</strong>，只要在这三者当中表现优异，就不会被列为肤浅的网站。从大量的分析看，目前Google Panda的适用级别为网页级别，并没有细化到关键词级别。同时大量低质量页面也会在无形中给整个站点带来影响。</p>
<p>点击流</p>
<p>准确的说应该是考察的是用户参与度，或者是用户针对页面的反馈信息。主要考察指标可能是：</p>
<p>1、页面跳出率与页面停留时间或者回访率</p>
<p>数据来源：Google Analytics,Google Toolbar和搜索结果页不同链接的点击时间间隔。</p>
<p>单纯的跳出率不能反映页面的质量，比如说我的博客文章，用户可能看了一篇文章就达到了预期的效果，如果停留时间可可以作为参考依据。只有当两个条件（跳出率高且停留时间短）同时满足时，Google才会判定这个是个肤浅的网站。</p>
<p>2、被大量用户屏蔽的网站</p>
<p>数据来源：Google Chrome插件：<strong><a href="https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef?hl=zh-CN">Personal Blocklist (by Google)</a></strong></p>
<p>Personal Blocklist官方介绍：Personal Blocklist 扩展会将您希望阻止显示的网址样式提交给Google。当您阻止或者允许一个网址样式显示时，该扩展同时也会将展示此被阻止或者被允许的网址的搜索结果网页提交给Google。您同意Google可以自由使用此信息来改进我们的产品和服务。</p>
<p>3、社会化网络当中的链接流行度</p>
<p>数据来源：Google自己抓取主流的社会化网络中的链接，如Twitter、Facebook、delicious等。</p>
<p>页面内容</p>
<p>Google肯定会针对页面进行分析，主要考察的是页面中信息量。可能考察的信息为：</p>
<ol>
<li>网站或页面是否存在大量的重复内容</li>
<li>网站或网页内包含的原创内容的占比</li>
<li>是否有大量的实质内容很少的页面存在</li>
<li>页面是否充斥大量无关广告，影响信息的接收</li>
<li>页面内是否有明显的SEO痕迹，有填充内容存在</li>
<li>如果是模板页面，模板页面的共有部分的数据量</li>
</ol>
<p>链接情况</p>
<ol>
<li>社会化网络中链接的流行度（前面已经提及）</li>
<li>是否存在大量的SPAM链接</li>
</ol>
<p><strong>如何应对Google Panda的更新？</strong> </p>
<ol>
<li>查找网站内流量质量最差的页面，并将这些页面区隔开来。设法修改你的低质量页面，但是不要太过，如果太过了容易招来惩罚。</li>
<li>给你网站的页面分类，按类别去查看数据，比如说广告数量、低质量内容百分比。按照情况进行修改会对搜索引擎屏蔽。（对于Wordpress的站点，可以参考下我的网站的Robots.txt文件哈 <a href="http://www.biaodianfu.com/robots.txt">http://www.biaodianfu.com/robots.txt</a>）</li>
<li>如果您的站点是采集过来的内容，尝试移除他们或使用robots.txt来禁止Google 爬取，并停止采集，手动添加原创内容。</li>
<li>修改网站内的链接，保证每个页面只有一个唯一的链接。保证链接的唯一型。</li>
<li>修改那些过度优化的页面。去除重复堆积的文字等。</li>
<li>做一些提高用户体验的修改， 让页面具有更好的可读性，如修改字体大小，字体样式，字体颜色等</li>
<li>在页面上添加用户可能感兴趣的内容，提供提供相关内容的链接。</li>
<li>到社交网站上推广你的站点，或在网页内添加社会化按钮便于用户分享。</li>
<li>检查网站广告的覆盖率，减少页面中广告的数量，去除弹出广告。</li>
<li>停止SPAM行为吧，SPAM伤身！</li>
</ol>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-chrome-frame.html' rel='bookmark' title='Google Chrome Frame 谷歌浏览器框架'>Google Chrome Frame 谷歌浏览器框架</a></li>
<li><a href='http://www.biaodianfu.com/google-search-appliance.html' rel='bookmark' title='Google Search Appliance'>Google Search Appliance</a></li>
<li><a href='http://www.biaodianfu.com/google-index-dababase.html' rel='bookmark' title='Google索引库到底有多大的猜想'>Google索引库到底有多大的猜想</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-panda-update.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google：《关于浏览器和网络的20项须知》</title>
		<link>http://www.biaodianfu.com/20-things-i-learned-about-browsers-and-the-web.html</link>
		<comments>http://www.biaodianfu.com/20-things-i-learned-about-browsers-and-the-web.html#comments</comments>
		<pubDate>Mon, 27 Jun 2011 13:11:34 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[无法定义]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3879</guid>
		<description><![CDATA[20 项须知：前言 如今许多人都离不开网络，我们只要动动手指就能获得全球信息，并且在瞬间接触到世界各地的人和活动。所有这些超强体验都归功于开放的互联网。世界上的任何人都能通过任何已联网的设备，通过浏览器上网。 但是浏览器和网络的工作原理究竟是怎样的呢？万维网是如何发展到如今我们所了解和喜爱的样子的？我们需要了解哪些事情才能安全有效地浏览网络？“我了解到的关于浏览器和网络的 20 件事”是一个简短的指南，面向的是所有想要了解浏览器和网络基本知识的人。本指南介绍了以下内容： 首先我们会介绍一下互联网，这是网络存在的基础。我们还会介绍当今网络是如何通过云计算和网络应用程序运作的。 接着，我们会介绍 HTML 和 JavaScript 等网页构建基础，并且回顾它们的发明和发展对于您日常访问的网站起到了怎样的影响。我们还会介绍现代浏览器，以及它如何帮助用户更安全地访问网络。 最后，我们会展望在浏览器和网络技术领域令人兴奋的创新，我们相信在未来可以获得更快速更让人身临其境的在线体验。 什么是互联网？ 要知道什么是互联网，就要知道什么是 TCP/IP 互联网究竟是什么？对某些人来说，互联网就是用来与朋友交流、读新闻、购物和玩游戏的。而对其他一些人来说，互联网则可能是他们当地的宽带提供商，或者是城市之间乃至越洋过海传输数据的地下电缆和光纤。谁的看法正确呢？ 要讨论这一点，我们不妨从互联网诞生的 1974 年开始说起。那一年，几位天才的计算机研究人员发明了一种称为“互联网协议组”的技术，简称“TCP/IP”。TCP/IP 制定了一套规则，可以让不同的计算机彼此“交谈”，并且发送和接收信息。 TCP/IP 有点类似于人类之间的交流：人们在交谈时会按照语法规则组织语言，从而确保彼此可以相互理解和交流看法。同样地，TCP/IP 也提供了一套交流规则，从而确保互连设备可以彼此了解，以便发送和接收信息。随着这种互连设备从一个房间扩展到许多房间，再扩展到许多建筑物、城市乃至国家，互联网便诞生了。 互联网的早期创建者发现，如果先将数据和信息分成小块独立发送，然后再重新组合，那么传送效率会更高。这些小块称为数据包。所以，当您通过互联网发送电子邮件时，完整的电子邮件内容会先分成许多数据包发送到收件人邮箱，然后再重新组合。当您在 YouTube 等网站观看视频时，情况同样如此：视频文件会分成许多数据包，从世界各地的多个 YouTube 服务器发送出去，然后重新组合，还原成您在浏览器中看到的视频。 网速如何？如果将互联网的流量比作水流，那么互联网的带宽就相当于每秒流过的水量。所以工程师们所说的带宽实际上是指通过您的互联网连接每秒所能发送的数据量。这是反映您连接速度的一项指标。如今，凭借更精良的实体基础设施（例如光纤电缆，其传输速度接近光速），网络连接的速度可以更快，而且可以更好地在物理介质上进行信息编码，即使是铜线这样的老式介质也完全没问题。 互联网是一个令人着迷的高度技术化体系，但是对于我们大多数人来说，其实很容易使用，完全不必考虑其中所涉及的电缆和方程式之类复杂的东西。另外，互联网也是我们所熟知和喜爱的万维网存在的支柱：正是互联网连接实现了互连的网页和应用程序，带我们走进了一个不断发展的开放世界。事实上，如今网络中的网页数量可能已经像人脑中的神经元或者银河系中的星星那么多了。 在接下来的两章中，我们会介绍如今的网络是如何通过云计算和网络应用程序在现实生活中应用的。 云计算 为什么卡车碾过我的笔记本也没关系 互联网时代的现代计算机技术是相当神奇和卓越的。当您抱着您的笔记本电脑宅在家里看 YouTube 视频或使用搜索引擎时，实际上利用了遍布全球的无数台计算机的集体力量，正是它们远程提供了您所需的信息。这简直就像有一台大型超级计算机随时听候您的差遣，而这一切都归功于互联网。 这种现象就是我们通常所说的“云计算”。如今我们都可以在网络上读新闻、听音乐、购物、看电视以及存储文件。在我们所生活的城市中，几乎每个博物馆、银行和政府部门都有自己的网站。结果如何呢？我们可以通过这些网站进行付帐和预约等活动，因此节省了排队和打电话的时间。许多日常事务可以转由网络进行处理，这样我们可以生活得更加丰富多彩。 云计算还有其他一些好处。几年前，如果计算机出现了病毒感染或硬件故障之类的问题，很多人都会担心文档、照片和文件丢失。如今，我们已不再将数据存储局限在个人计算机中，而是迁移到网络上，将数据在线储存到“云”中。如果您在线上传照片、存储重要文件并使用 Gmail 或 Yahoo! Mail 这样网络电子邮件，那么即使一辆 18 轮大卡车碾过您的笔记本电脑，您的所有数据仍会安全地保存在网络上。不论您在世界的哪个角落，都可以通过任何一台接入互联网的计算机访问这些数据。 网络应用程序 或者说 “生命、自由以及对应用程序的追求” 如果您玩网络游戏，使用网上照片编辑器或者依赖“Google 地图”、Twitter、Amazon、YouTube 或 Facebook 等基于网络的服务，那么您就已经是网络应用程序世界中的一个活跃分子了。 网络应用程序究竟是什么？跟我们有什么关系呢？ [...]]]></description>
			<content:encoded><![CDATA[<p><strong>20 项须知：前言</strong></p>
<p>如今许多人都离不开网络，我们只要动动手指就能获得全球信息，并且在瞬间接触到世界各地的人和活动。所有这些超强体验都归功于开放的互联网。世界上的任何人都能通过任何已联网的设备，通过浏览器上网。</p>
<p>但是浏览器和网络的工作原理究竟是怎样的呢？万维网是如何发展到如今我们所了解和喜爱的样子的？我们需要了解哪些事情才能安全有效地浏览网络？“我了解到的关于浏览器和网络的 20 件事”是一个简短的指南，面向的是所有想要了解浏览器和网络基本知识的人。本指南介绍了以下内容：</p>
<ul>
<li>首先我们会介绍一下互联网，这是网络存在的基础。我们还会介绍当今网络是如何通过云计算和网络应用程序运作的。</li>
<li>接着，我们会介绍 HTML 和 JavaScript 等网页构建基础，并且回顾它们的发明和发展对于您日常访问的网站起到了怎样的影响。我们还会介绍现代浏览器，以及它如何帮助用户更安全地访问网络。</li>
<li>最后，我们会展望在浏览器和网络技术领域令人兴奋的创新，我们相信在未来可以获得更快速更让人身临其境的在线体验。</li>
</ul>
<p><strong>什么是互联网</strong>？</p>
<p><strong>要知道什么是互联网，就要知道什么是 TCP/IP</strong></p>
<p>互联网究竟是什么？对某些人来说，互联网就是用来与朋友交流、读新闻、购物和玩游戏的。而对其他一些人来说，互联网则可能是他们当地的宽带提供商，或者是城市之间乃至越洋过海传输数据的地下电缆和光纤。谁的看法正确呢？</p>
<p>要讨论这一点，我们不妨从互联网诞生的 1974 年开始说起。那一年，几位天才的计算机研究人员发明了一种称为“互联网协议组”的技术，简称“TCP/IP”。TCP/IP 制定了一套规则，可以让不同的计算机彼此“交谈”，并且发送和接收信息。</p>
<p>TCP/IP 有点类似于人类之间的交流：人们在交谈时会按照语法规则组织语言，从而确保彼此可以相互理解和交流看法。同样地，TCP/IP 也提供了一套交流规则，从而确保互连设备可以彼此了解，以便发送和接收信息。随着这种互连设备从一个房间扩展到许多房间，再扩展到许多建筑物、城市乃至国家，互联网便诞生了。</p>
<p>互联网的早期创建者发现，如果先将数据和信息分成小块独立发送，然后再重新组合，那么传送效率会更高。这些小块称为<strong>数据包</strong>。所以，当您通过互联网发送电子邮件时，完整的电子邮件内容会先分成许多数据包发送到收件人邮箱，然后再重新组合。当您在 YouTube 等网站观看视频时，情况同样如此：视频文件会分成许多数据包，从世界各地的多个 YouTube 服务器发送出去，然后重新组合，还原成您在浏览器中看到的视频。</p>
<p>网速如何？如果将互联网的流量比作水流，那么互联网的<strong>带宽</strong>就相当于每秒流过的水量。所以工程师们所说的带宽实际上是指通过您的互联网连接每秒所能发送的数据量。这是反映您连接速度的一项指标。如今，凭借更精良的实体基础设施（例如光纤电缆，其传输速度接近光速），网络连接的速度可以更快，而且可以更好地在物理介质上进行信息编码，即使是铜线这样的老式介质也完全没问题。</p>
<p>互联网是一个令人着迷的高度技术化体系，但是对于我们大多数人来说，其实很容易使用，完全不必考虑其中所涉及的电缆和方程式之类复杂的东西。另外，互联网也是我们所熟知和喜爱的万维网存在的支柱：正是互联网连接实现了互连的网页和应用程序，带我们走进了一个不断发展的开放世界。事实上，如今网络中的网页数量可能已经像人脑中的神经元或者银河系中的星星那么多了。</p>
<p>在接下来的两章中，我们会介绍如今的网络是如何通过云计算和网络应用程序在现实生活中应用的。</p>
<p><strong>云计算</strong></p>
<p><strong>为什么卡车碾过我的笔记本也没关系</strong></p>
<p>互联网时代的现代计算机技术是相当神奇和卓越的。当您抱着您的笔记本电脑宅在家里看 YouTube 视频或使用搜索引擎时，实际上利用了遍布全球的无数台计算机的集体力量，正是它们远程提供了您所需的信息。这简直就像有一台大型超级计算机随时听候您的差遣，而这一切都归功于互联网。</p>
<p>这种现象就是我们通常所说的“云计算”。如今我们都可以在网络上读新闻、听音乐、购物、看电视以及存储文件。在我们所生活的城市中，几乎每个博物馆、银行和政府部门都有自己的网站。结果如何呢？我们可以通过这些网站进行付帐和预约等活动，因此节省了排队和打电话的时间。许多日常事务可以转由网络进行处理，这样我们可以生活得更加丰富多彩。</p>
<p>云计算还有其他一些好处。几年前，如果计算机出现了病毒感染或硬件故障之类的问题，很多人都会担心文档、照片和文件丢失。如今，我们已不再将数据存储局限在个人计算机中，而是迁移到网络上，将数据在线储存到“云”中。如果您在线上传照片、存储重要文件并使用 Gmail 或 Yahoo! Mail 这样网络电子邮件，那么即使一辆 18 轮大卡车碾过您的笔记本电脑，您的所有数据仍会安全地保存在网络上。不论您在世界的哪个角落，都可以通过任何一台接入互联网的计算机访问这些数据。</p>
<p><strong>网络应用程序</strong></p>
<p><strong>或者说 “生命、自由以及对应用程序的追求”</strong></p>
<p>如果您玩网络游戏，使用网上照片编辑器或者依赖“Google 地图”、Twitter、Amazon、YouTube 或 Facebook 等基于网络的服务，那么您就已经是网络应用程序世界中的一个活跃分子了。</p>
<p>网络应用程序究竟是什么？<em></em>跟我们有什么关系呢？</p>
<p>“App”是应用程序 (application) 的缩写。<em></em>应用程序也称为程序或软件。以往，开发应用程序是为了完成综合密集型的任务，例如财务管理或文字处理。现在，在网络浏览器和智能手机的网络世界中，应用程序通常是较为灵活的程序，专门针对单一任务。尤其是网络应用程序，可以在网络浏览器中运行这些任务，并且往往能够提供丰富的互动体验。</p>
<p>“Google 地图”就是一个网络应用程序的绝佳示例。它专门用来处理一项任务：在网络浏览器中提供实用的地图功能。您可以平移和缩放地图，搜索大学或咖啡厅，并且获得行车路线等等。您需要的所有信息都会根据您的要求动态显示在网络应用程序中。</p>
<p>我们可以总结出网络应用程序的四大优点：</p>
<p>1. 我可以从任何地方访问自己的数据。</p>
<p>在过去的桌面应用程序时代，数据通常存储在计算机的硬盘中。如果我外出度假，但是将计算机留在了家里，那么就无法查收电子邮件、查看照片或访问任何需要的数据了。而在网络应用程序的新时代，我的电子邮件和所有数据都存储在网络上。您可以使用任何一台可以上网的计算机，通过网络浏览器获取所需的数据。</p>
<p>2. 我的应用程序总是最新版本。</p>
<p>我今天使用的 YouTube 是什么版本？明天呢？答案是：永远都是最新的。网络应用程序会自动更新，所以总是只有一个版本：包含了所有最新功能和改进的最新版本。没有必要每次都手动升级到新版本，也不必在花费大量安装时间后才能使用。</p>
<p>3. 可以在所有安装了网络浏览器的设备上使用。</p>
<p>对于传统的计算机技术，有些程序只能在特定的系统或设备上运行。例如，许多为 PC 编写的程序无法在苹果机上运行。为每种系统或设备开发相应的软件不仅耗时，而且成本很高。相反，网络则是一个开放的平台。任何人都可以在连接到网络的设备上通过浏览器访问网络，无论这样的设备是笔记本电脑、桌面计算机还是手机。这意味着我即便使用朋友的笔记本电脑或网吧的计算机，也能运行我喜爱的网络应用程序。</p>
<p>4. 更加安全。</p>
<p>网络应用程序是在浏览器中运行的，无需下载到自己的计算机上。由于应用程序代码与计算机代码是分开的，因此网络应用程序不会影响我计算机上的其他任务，也不会影响计算机的总体性能。这也表示我在面对病毒、恶意软件和间谍软件等威胁时，可以得到更好的保护。</p>
<p><strong>HTML、JavaScript、CSS&#8230;</strong></p>
<p><strong>AJAX 不再是从前的样子了</strong></p>
<p>网页都是用 HTML 语言编写的，这是一种网络编程语言，可以指示浏览器如何在网页上构建和展现内容。换句话说，HTML 为网页提供了构建基础。很长一段时间以来，这些构建基础都很简单，而且是静态的，只包含文本行、链接和图片。</p>
<p>如今，我们的要求更高了，例如会想要在线下棋或者无缝滚动浏览周边地图，但不想每下一步棋或每滚动一下地图都要等待整个网页重新载入。这种动态网页的构想，从 JavaScript 脚本语言发明伊始就已经萌生了。各种主流网络浏览器都支持 JavaScript，这就意味着网页中可以包含更多重要的实时互动内容。例如，如果您填写了一张在线表单，然后点击“提交”按钮，那么网页就会使用 JavaScript 实时检查您输入的内容，并且在发现您填错时立即提醒您。</p>
<p>但是实际上，我们现在所了解的动态网页是在 JavaScript 引入了 XHR(XMLHttpRequest) 后才实现的，然后首先应用到 Microsoft Outlook 网络版、Gmail 和“Google 地图”等网络应用程序中。XHR 无需重新载入整个网页，即可更改网页的各个部分，包括游戏、地图、视频、在线用户调研等。这样，网络应用程序也因此变得更快速，响应也更及时。</p>
<p>在引入 CSS（层叠样式表）后，网页拥有了更丰富的表现力。CSS 可让程序员以轻松而有效的方法来定义网页布局，并通过颜色、圆角、渐变和动画等设计元素美化网页。</p>
<p> 网络程序员通常将 JavaScript、XHR、CSS 以及其他几种网络技术的强力组合称为 AJAX（异步 JavaScript 和 XML）。HTML 也在持续发展，新版 HTML 标准中不断加入新的功能和改进。</p>
<p>无数的技术人员、点子专家、编程人员和组织创造了种种网络技术，并确保 Internet Explorer、Firefox、Safari 和 “Google Chrome 浏览器”等网络浏览器支持这些技术，正是这些人的不懈努力，网络世界才有了今日的繁荣。网络技术与浏览器之间相辅相成，把网络打造成一个开放友好的构建平台，供网络开发人员开发各种实用而有趣的网络应用程序，以便我们在日常生活中使用。</p>
<p><strong>HTML5</strong></p>
<p><strong>或“在开始，还没有&lt;video&gt;的时候”</strong></p>
<p>在 HTML 诞生 20 多年后，我们仍在探究这样的问题：什么是网络？未来的网络会变成什么样？对于我们这些用户来说，什么样的功能和应用程序才是有趣、实用甚至是不可或缺的呢？开发人员需要借助什么工具来开发优秀的网站和应用程序？最后，如何在网络浏览器中实现网络的种种优势？</p>
<p>对上述问题的探究催生了最新版本的 HTML，也就是 HTML5。它具备了一系列新功能，可以帮助网页设计人员和开发人员们开发强大的下一代网络应用程序。以 HTML5 中的 &lt;video&gt; 标记为例。在早期的网络中，视频并不是一个主要的部分，或者说根本没有；互联网用户只有安装了称为“插件”的额外软件，才能在浏览器中观看视频。而不久之后，轻松观看视频就成了广大用户迫切需要的一项功能。利用 HTML5 中引入的 &lt;video&gt; 标记，可以轻松地在网页中嵌入和播放视频，无需安装其他软件。</p>
<p>HTML5 还提供了其他一些很棒的功能，例如离线功能（用户即使在没有网络连接的情况下，也能与网络应用程序互动）以及拖放功能。例如在 Gmail 中，用户只要将桌面上的文件拖放到浏览器窗口中，即可瞬间完成附件添加操作。</p>
<p>HTML5 就和网络本身一样， 也在根据用户的需求和开发人员的构想而不断发展。作为一种开放式标准，HTML5 结合了网络显著的一些优势：不受地域限制，都能在装有新一代浏览器的设备上运行。但是，就像只有在高清电视机上才能观看高清电视节目一样，用户必须使用兼容 HTML5 的最新版浏览器，才能访问那些采用了 HTML5 功能的网站和应用程序。好在有很多不同的浏览器可供互联网用户选择，买电视机要花钱，浏览器可是能免费进行下载的哦。</p>
<p><strong>支持 3D 功能的浏览器</strong></p>
<p><strong>更有深度的浏览</strong></p>
<p>3D 图形与动画的确魅力无穷，因为它们能够很好地展现所有细节，例如光影、倒影与逼真的纹理等。然而，迄今为止仍难以实现令人瞩目的 3D 体验，尤其是在互联网上。</p>
<p>为什么会这样呢？主要原因是，要在游戏和其他应用程序中营造 3D 体验，就必须用海量的数据来显示复杂精细的纹理和形状。以前，大多数常用系统都因为互联网带宽和计算能力方面的限制，无法处理如此海量的数据。不久之前，一切都改变了：基于浏览器的 3D 时代来临了！</p>
<p>如今的宽带网络帮助解决了带宽需求问题。许多家庭和办公室现在都安装了宽带，带宽远超十年前。因此，可以通过互联网发送大量数据，从而达到在浏览器中体验逼真 3D 效果的要求。而且，如今的计算机在性能上也远非从前可比：处理器与内存得到了显著提升，即便是目前普通档次的笔记本电脑或台式计算机，也能处理复杂的 3D 图形。</p>
<div>
<p>但是关键还在于浏览器功能有了长足的发展，否则单纯依靠宽带或者计算能力都是无济于事的。许多现代浏览器都采用了开放网络技术，如 WebGL 和 3D CSS。凭借这些技术，网络开发人员可以为网络应用程序打造出酷炫的 3D 效果，而我们无需安装其他插件就能体验这种效果。最重要的是，许多现代浏览器现在都能采用了一种称为“硬件加速”的技术。这意味着浏览器可以使用图形处理单元（即 GPU）加快计算速度，以满足同时呈现 3D 和日常 2D 网页内容的需要。</p>
</div>
<p> 那么为什么浏览器对 3D 的支持这么重要呢？因为现在 3D 技术已经与 HTML5、JavaScript 和其他强大的新技术一起成为了网络开发的常用工具，网络开发人员可以使用这些技术开发强大的下一代网络应用程序。而对用户而言，这意味着可以通过更好的新方式直观地查看实用信息，在网上体验 3D 环境和玩 3D 游戏时能够获得更多乐趣。</p>
<p>最重要的是，浏览器对 3D 的支持为网络应用程序带来了种种好处：您能够与全球的朋友们分享、协作和个性化最新的应用程序。毋庸置疑，人人都能获得更多数据，体验更多乐趣。</p>
<p><strong>浏览器大合唱</strong></p>
<p><strong>新老浏览器的对决</strong></p>
<p><em>老古董般的浏览器与现代浏览器无法并存：现代浏览器速度快、功能全、安全好老版浏览器运行慢，弱点一大堆一有恶意攻击就疲软。</em></p>
<p>大多数互联网用户可能尚未意识到，过时的旧版网络浏览器会对我们的网络生活，尤其是网络安全造成多大的负面影响。您肯定不愿意长年累月都开着一辆轮胎磨秃、刹车失灵而且发动机常常罢工的老爷车。同样，您也不应该每天使用过时的旧版浏览器来访问网页和网络应用程序。</p>
<p>赶快升级到最新版本的现代浏览器吧，例如 Mozilla Firefox、Apple Safari、Microsoft Internet Explorer、Opera 或者“Google Chrome 浏览器”。这样做是很有必要的，理由有以下三点：</p>
<div>
<p>第一，旧版浏览器通常无法更新最新的安全补丁和功能，因而极易受到攻击。浏览器的安全漏洞可能导致用户密码被盗、恶意软件偷偷侵入计算机甚至其他更严重的后果。而最新版本的浏览器能帮助您抵御网上诱骗和恶意软件等安全威胁。</p>
<p>第二，网络的发展十分迅速。旧版浏览器可能无法支持当今网站和网络应用程序中的许多最新功能。只有最新版本的浏览器在速度方面进行了改进，再加上对 HTML5、CSS3 以及快速 JavaScript 等现代网络技术的支持，可以让您快速地访问网页和运行应用程序。</p>
</div>
<p>第三，旧版浏览器阻碍了网络创新的步伐。如果大量的互联网用户都墨守旧版浏览器，网络开发人员就不得不在设计网站时兼顾新旧技术。面对有限的时间和资源，他们不得不为了照顾旧版浏览器的低标准，而停止为现代浏览器开发创新性的下一代网络应用程序。（想象一下吧，这就好比如今的高速公路工程师们被迫按照老爷车的安全行驶标准去设计高速公路。）因此，无论对于广大网络用户还是网络创新而言，过时的浏览器都是有百害而无一利的。</p>
<p>如果您对自己老迈的浏览器依依不舍，这也是无可厚非的。有些情况下，您可能无法升级浏览器。如果您发现在办公用计算机上无法升级浏览器，请与贵公司的 IT 管理员联系。如果您无法升级旧版 Internet Explorer，可以使用“Google Chrome 浏览器内嵌框架”插件，在 Internet Explorer 中引入“Google Chrome 浏览器”的部分功能，从而获得一些现代网络应用程序的先进功能。</p>
<p>过时的旧版浏览器不仅会损害用户的利益，而且阻碍了整个网络的创新步伐。因此，请您务必花一点时间将您喜爱的现代浏览器升级到最新版本。</p>
<p><strong>插件</strong></p>
<p><strong>吃饺子要蘸醋</strong></p>
<p>在万维网发展的早期阶段，第一版 HTML 无法传输像视频这样高级的内容，基本上只限于文本、图片和链接。</p>
<p>为了打破早期 HTML 的限制并且传输更多互动内容，插件应运而生。插件是一种附加软件，专门用来处理特定类型的内容。例如，用户可以下载并安装 Adobe Flash Player 等插件，以便观看包含视频或互动游戏的网页。</p>
<p>插件与浏览器之间的互动程度如何？说来奇怪，它们之间几乎没有互动。插件模式很像电视上的画中画：浏览器在网页上为插件界定一个明确的空间，然后就置身事外了。插件可以自由运用这个空间，完全不受浏览器的影响。</p>
<p>这种独立性意味着一个特定的插件可以适用于多种不同的浏览器。然而，这种普遍性也让插件成为了浏览器安全攻击的主要目标。如果您运行的不是最新版插件，那么您的计算机会更容易遭到安全攻击，因为过时的插件不包含最新的安全修补程序。</p>
<p>我们今天使用的插件模式主要还是沿袭自早期的网络。不过，网络社区目前正在寻找插件现代化的新用途，例如通过巧妙的方法更加无缝地集成插件，以便对插件内容进行搜索和链接，并且可以让插件与网页的其余部分互动。更重要的是，现在一些浏览器供应商和插件提供商会展开合作，共同保护用户免受安全风险。例如，“Google Chrome 浏览器”小组和 Adobe Flash Player 团队已经展开合作，将 Flash Player 集成到了浏览器中。“Chrome 浏览器”的自动更新机制有助于确保 Flash Player 插件永不过时，并且一直收到最新的安全修补程序和补丁。</p>
<p><strong>浏览器扩展程序</strong></p>
<p><strong>浏览器变身“百变金刚”</strong></p>
<p>浏览器扩展程序可让您对浏览器添加新的功能，名副其实地“扩展”浏览器。<em></em></p>
<p>这意味着您可以对浏览器进行自定义，添加最重要的功能。您可以将扩展程序视为在浏览器现有功能的基础上增加新的强大功能。</p>
<p>这些功能可大可小，完全取决于您的需要。例如，您可以安装一个汇率换算扩展程序，安装完成后，浏览器地址栏旁就会显示一个新的按钮。点击该按钮即可将当前网页上的所有价格换算成您指定的币种。如果您是一个习惯在网上规划行程和预订的背包客，那么这款扩展程序就很有帮助。您可以在所有网页上使用这类扩展程序的类似功能。</p>
<p>浏览器扩展程序也可以在网页外部自行运行。电子邮件通知扩展程序可以集成到浏览器工具栏中，在后台检查您的电子邮件帐户中是否收到了新邮件，然后通知您。在这种情况下，无论您在浏览什么网页，该扩展程序总是会在后台运行。这样，您就无需在一个独立窗口中登录电子邮件来查收新邮件。</p>
<p>浏览器扩展程序刚诞生时，开发人员通常必须使用一些不常见的编程语言或者大型的主流编程语言（如 C++）编写这些程序。这对于工作量、时间和专业的知识的要求都很高。向浏览器添加更多的代码还会增加安全隐患，因为这为攻击者提供了更多可乘之机。以前有些扩展程序的代码晦涩难懂，使得扩展程序背负了导致浏览器崩溃的恶名。</p>
<p>如今，大多数浏览器都允许开发人员使用友好的基础网络编程语言开发扩展程序，例如 HTML、JavaScript 和 CSS。这些语言同时也是开发当今大多数网络应用程序和网页所用的语言，因此如今的扩展程序与网络应用程序和网页之间的兼容性更好。扩展程序开发起来更加迅速、简单和安全，而且会随着作为开发基础的网络标准一起不断完善。</p>
<p>要找新的扩展程序，可以查看浏览器的扩展程序库。您会在其中找到成千上万的扩展程序，它们能带给您更高效或更有趣的浏览体验，有些可让您在搜索时在网页上标注突出显示内容以及做笔记；有些可通过浏览器界面为您带来精彩的体育赛事实况报道。</p>
<p><strong>同步浏览器</strong></p>
<p><strong>又有卡车碾过我的笔记本了</strong></p>
<p>恭喜您，您现在已经步入“云”中了！您在收发电子邮件、听音乐以及做每一件事时，几乎都用到了网络应用程序。无论身在何处，您只要通过任意一台可以上网的计算机，就可以在线保存重要文档、照片和各种文件了。</p>
<p>就算是一辆 18 轮的大卡车呼啸着碾碎您的笔记本电脑，您也不会丢失任何数据。明智的您早已将自己的重要信息保存到网上，这时候您只要找到另一台可以上网的设备，就可以拿到重要信息并继续工作了。</p>
<p>但是，像书签、浏览器扩展程序和浏览器偏好设置这些日常使用的内容会怎么样呢？它们会随着您的笔记本电脑一起灰飞烟灭吗？</p>
<p>以前是会的。那时候您必须重新寻找您喜爱的各种扩展程序，重新收集曾经辛辛苦苦添加到书签的各个网站。但现在再也不用这么麻烦了！如今，像 Firebox 和“Chrome 浏览器”等许多浏览器都已着手开发一项称为<strong>同步</strong>的功能。同步功能可让您将浏览器设置在线保存到“云”中，这样就算您的计算机融化了，这些设置也不会丢失。</p>
<p>另外，如果您要用到多台计算机（比如工作时使用笔记本电脑，在家使用台式计算机），有了同步功能就会非常方便。您不必手动地为每一台计算机重新创建收藏网站的书签，也不必重新配置浏览器。只要浏览器具备同步功能，您在一台计算机上所作的更改就会在几秒内自动在其他同步的计算机上反映出来。</p>
<p>以“Chrome 浏览器”为例，同步功能可以将所有的书签、扩展程序、偏好设置以及主题保存到您的 Google 帐户。您在使用其他任何可以上网的计算机时，只需打开“Chrome 浏览器”，然后通过浏览器的同步功能登录您的 Google 帐户。瞧！<em></em>您喜爱的所有浏览器设置这时就可以在新的计算机上使用了。</p>
<p>无论您要使用多少台计算机，只要可以上网并且安装了可同步到“云”的现代浏览器，就万事俱备了。哪怕这些计算机都被传说中的卡车压坏也没关系。</p>
<p><strong>浏览器 Cookie</strong></p>
<p><strong>多亏了记录功能</strong></p>
<p>“Cookie”看起来不像是一个技术名词，但却为互联网用户提供了一项至关重要的功能：记录访问过的网站或正在访问的网站。<em></em></p>
<p>Cookie 是由您访问的网站向您的浏览器发送的一小段文本。其中包含了您希望该网站记住的关于访问活动的信息，例如首选语言或其他一些设置。浏览器会保存这些数据，并在您下次访问该网站时调用它们，为您提供更方便和个性化的访问体验。例如，您在访问一个电影网站时表示某喜剧片最受您的喜爱，那么该网站所发送的 Cookie 就会记录这一点，这样当您下次访问时，就会看到很多的喜剧片。在线购物车也使用 Cookie。例如，您在收费电影网站浏览 DVD 时，会发现在不登录的情况下也可以将 DVD 添加到购物车中。即使您在该网站的各个不同页面上浏览，您的购物车也不会“忘记”您挑选的 DVD，因为您的选择已经通过浏览器的 Cookie 保存下来了。另外，在线广告也会使用 Cookie 记录您的兴趣爱好，并在您访问网页时显示相关的广告。</p>
<p>但是有些人不喜欢使用 Cookie，因此大多数现代浏览器都提供了管理 Cookie 的功能，以满足不同用户的需要。您可以针对不同网站设置用于管理 Cookie 的特定规则，从而更好地保护自己的隐私。这就意味着您可以选择自己信任的网站，只允许这些网站的 Cookie，而阻止其他网站的 Cookie。Cookie 的类型有很多，包括只在某个特定浏览会话期间存在的“仅限会话的 Cookie”，以及可持续多个浏览器会话的“永久 Cookie”。因此，现代浏览器通常都提供了微调控制方法，可让您根据自己的偏好设置不同类型的 Cookie，例如将永久 Cookie 设置为单一会话 Cookie。</p>
<p>在“Google Chrome 浏览器”中，“选项”菜单中提供了一个特殊的直接链接，点击后即可转到 Adobe Flash Player 的存储设置管理器。您可以通过该链接方便地控制由 Adobe Flash Player 存储的本地数据（通常也称为“Flash Cookie”），这些数据包含了您访问过的基于 Flash 的网站或应用程序的信息。就像您可以管理浏览器 Cookie 一样，您也能轻松地控制 Flash Cookie 的设置。</p>
<p><strong>浏览器和隐私</strong></p>
<p><strong>在浏览器中保护自己的隐私</strong></p>
<p>安全与隐私是紧密相关的，但并不完全等同。</p>
<p>您可以想象一下自己家里的安全和隐私保障措施：门锁和报警系统帮助您防盗，而窗帘和百叶窗可以防止路人窥视您的生活隐私。</p>
<p>安全与隐私是紧密相关的，但并不完全等同。</p>
<p>您可以想象一下自己家里的安全和隐私保障措施：门锁和报警系统帮助您防盗，而窗帘和百叶窗可以防止路人窥视您的生活隐私。</p>
<p>让我们更深入地了解一下隐私。打个比方：您是跑步爱好者，每天都要跑上几里路。如果您随身携带一个 GPS 设备来记录每天的跑步数据，就可以在这个设备上创建一份跑步数据日志：您跑到什么地方、跑了多远、平均速度是多少以及消耗了多少卡路里。</p>
<p>而当您浏览网页时，计算机也会在本地生成并存储一份类似的浏览器数据日志，其中包括关于您所浏览网站的记录、发送到浏览器的 Cookie 以及您下载的所有文件。<em></em>如果您将浏览器设置为保存密码或表单数据，那么这些数据也会存储在您的计算机上。</p>
<p>有些人可能没有意识到，所有这些浏览数据都是可以随时从计算机中清除的。只要通过浏览器的“选项”或“偏好设置”菜单，就能轻松完成这样的操作。（不同浏览器的菜单名称会有所区别。）事实上，大部分最新版的现代浏览器还提供了一种“隐私”或“隐身”模式。例如，在“Chrome 浏览器”的隐身模式下，您浏览的所有网页均不会显示在浏览历史记录中。另外，在您关闭所有已打开的隐身窗口后，系统会删除所有新的 Cookie。如果您与其他人共用自己的计算机，或者在当地图书馆或网吧使用公共计算机，那么这种模式就非常方便。</p>
<p>通过浏览器中的所有这些隐私控制功能，您可以控制计算机本地上的浏览数据或由浏览器发送给网站的特定数据。但浏览器的隐私设置无法控制另外的这些网站获取您的数据，例如您以前在这些网站上提交的个人信息。</p>
<p>当然，也有一些方法可以限制网站在您浏览的同时获取某些信息。很多浏览器可以让您针对不同的网站调整隐私偏好设置，并且自行选择 Cookie、JavaScript 和插件等特定数据。例如，您可以设置相应的规则，只允许自己信任的一系列网站的 Cookie，并让浏览器阻止其他所有网站的 Cookie。</p>
<p>在隐私与效率之间总会存在一点冲突。收集来自广大用户的实际汇总数据和反馈确实有助于改善产品和用户体验。关键是在坚持严格的隐私标准的同时，在隐私与效率之间找到最佳平衡点。</p>
<p>下面以浏览器 Cookie 作为实际的例子来说明这一点。一方面，如果使用 Cookie，您经常访问的网站就能够记录您购物车中的商品，让您保持登录状态，并且根据您以前的浏览记录提供更实用、更个性化的浏览体验。而另一方面，允许浏览器 Cookie 就意味着网站会收集和记录您先前浏览过的信息。如果您愿意，可以随时选择阻止 Cookie。这样，您下次希望对浏览器隐私设置进行微调时，可以在浏览器的“选项”或“偏好设置”菜单中修改相应的隐私设置。</p>
<p><strong>恶意软件、网上诱骗和安全风险</strong></p>
<p><strong>披着羊皮的狼</strong></p>
<p>当您在闹市使用自动取款机时，可能会四下张望，以确保没有人偷窥您的密码或窃取现金。其实，您或许应该先检查一下自动取款机是不是真的。当您浏览网页和进行网上交易时，需要提防两大安全风险：恶意软件和网上诱骗。某些个人或组织会利用这些攻击手段，企图窃取您的个人信息或侵入您的计算机。那么，网上诱骗和恶意软件攻击究竟是什么？</p>
<p>网上诱骗是指某些人假冒他人（通常是通过虚假网站）骗取您的个人信息。（“网上诱骗”的说法是从英文中的“钓鱼”一词演化来的，因为这些图谋不轨的人像钓鱼一样投下诱饵，然后等别人上钩。）网上诱骗的惯用手段是这样的：攻击者向您发送一封电子邮件，但是表面上看好像是由您所熟悉的银行或网络服务提供商发送的。这封邮件的主题可能是“请更新您的银行个人信息！”邮件中包含了网上诱骗链接，您点击后以为自己进入的是银行网站，实际却是虚假网站。这个虚假网站会提示您登录，这样您就在不经意间向攻击者透露了自己的银行帐号、信用卡号、密码或其他敏感信息。</p>
<p>恶意软件则有所不同，通常会在您不知道的情况下安装到您的计算机上。这种软件可能会提示您下载一个防病毒软件，而实际上它本身就是病毒。或者，有些网页在您访问时甚至不做任何提示就将软件安装到了您的计算机上。这种软件的真正意图是从您的计算机中窃取信用卡号或密码，有时还会损害您的计算机。恶意软件安装到您的计算机中以后，不仅难以删除，而且还可以自由访问它发现的所有数据和文件，并将这些信息发往别处，这通常会对您的计算机造成严重损害。</p>
<p>最新版的现代网络浏览器是抵御网上诱骗和恶意软件攻击的第一道防线。例如，大多数现代浏览器都能帮助您分析网页，以寻找可能存在恶意软件的迹象，并在发现它们时提醒您。</p>
<p>另外，攻击者可能并不总是利用高超的技术手段侵入您的计算机，有时候也会耍一些小花招诱骗您做出错误的决定。下面几章会向您介绍如何就保护网上安全做出更明智的决定，以及如何借助浏览器和其他网络技术。</p>
<p><strong>新一代的浏览器如何帮您抵御恶意软件和网上诱骗</strong></p>
<p><strong>小心这些坏家伙！</strong></p>
<p>在您浏览网页的时候，最新版本的浏览器能保护您免受网上诱骗和恶意软件的攻击。这是通过限制您上网时面临的三类安全风险实现的：</p>
<p>风险 1：您遭到黑客攻击的频率有多大</p>
<p>在访问恶意虚假网站或者遭到入侵的熟悉网站时，您都有可能受到攻击。大部分现代浏览器都可以预先检查您访问的每个网页，如果发现某个疑似恶意的网页，就会提醒您注意。这样，您就能做出明智的判断：是否真的要访问这个网页。</p>
<p>例如，“Google Chrome 浏览器”采用了“安全浏览”技术，这种技术也应用于其他几种现代浏览器。当您浏览网页时，浏览器会将每个网页与疑似存在网上诱骗和恶意软件的网站列表进行快速比对。这个列表会在您的本地计算机上进行存储和维护，从而帮助您保护浏览隐私。如果从本地列表中找到了匹配项，浏览器就会向 Google 发送一条请求，以获取更多信息。（这条请求是完全加密的，不会以纯文本形式发送。）如果 Google 通过验证确定是匹配项，“Chrome 浏览器”就会显示一个红色警告页面，提醒您尝试访问的网页可能存在风险。</p>
<p>风险 2：您的浏览器对于攻击行为的抵抗力如何</p>
<p>未升级的旧版浏览器可能存在会遭到攻击的安全漏洞。无论是操作系统、浏览器还是插件，所有过期的软件都存在同样的安全问题。因此很有必要使用最新版的浏览器，并且及时为操作系统和插件打上安全补丁，确保它们的安全修补程序总是最新的。</p>
<p>有些浏览器可自动检查更新，并根据用户的操作安装更新。“Chrome 浏览器”和其他一些浏览器在更新方面更为先进，都内置了自动更新功能。这些浏览器会定期运行更新检查，然后自动升级到最新的版本，而升级过程并不影响浏览。此外，“Chrome 浏览器”中还集成了 Adobe Flash Player 和 PDF 查看器，这些热门插件也是可以自动更新的。</p>
<p>风险 3：您的浏览器漏洞遭到攻击后会造成多大损失</p>
<p>“Chrome 浏览器”和 Internet Explorer 等现代浏览器额外内置了一个称为“沙盒”的保护层。就像现实中的沙盒有护壁防止沙子流出一样，浏览器的沙盒构建了一个封闭的环境，可防止恶意软件和其他安全威胁侵害您计算机。在您打开恶意网页时，浏览器的沙盒会阻止恶意代码传播到浏览器外部并自行安装到您的硬盘上。这样，恶意代码就不能读取、更改或进一步损害您计算机中的数据。</p>
<p>总而言之，现代浏览器可以通过以下手段，保护您免受网络安全威胁：第一，检查您要访问的网站是否存在恶意软件或网上诱骗；第二，发现更安全的新版本后，会提供更新提示或进行自动更新；第三，使用浏览器沙盒阻止恶意代码进一步损害计算机。</p>
<p>在下面几章中，我们会介绍一些关于网址的基本知识，帮助您对要访问的网站作出更明智的选择。</p>
<p><strong>使用网址，确保安全</strong></p>
<p><strong>或者说，“我的名字叫网址”</strong></p>
<p>统一资源定位符（也就是人们熟知的 URL，即网址）或许听起来挺复杂的，但是不用担心，这其实就是您要访问特定网页或网络应用程序时，在浏览器中键入的网址。</p>
<p>当您输入一个网址后，位于世界某个地方的托管服务器就会抓取相应的网站，通过很长的电缆将该网站传输到您的本地互联网连接，并最终显示在您计算机上的浏览器中。</p>
<p>我们每天都会在浏览器中键入网址，已经觉得习以为常了。但是我们应该了解网址的方方面面，这有助于抵御各种网上诱骗或安全攻击。</p>
<p>我们以下面的这个网址为例：<a href="http://www.google.com/maps">http://www.google.com/maps</a> 协议 主机名 路径 顶级域名</p>
<p>网址的第一部分称为<strong>协议</strong>。在上面的示例中，HTTP 协议是“超文本传输协议”的缩写。</p>
<p>协议后面的“www.google.com”部分网站是所属的<strong>主机</strong>的名称。任何个人或公司在创建新网站时，都会注册一个属于自己的主机名，而且也只供自己使用。我们后面就会说到，这一点是非常重要的。</p>
<p>网址中的主机名部分后面可能还有<strong>路径</strong>，可以将您转到该主机上的某个特定网页，就像直接跳到书中的某一章或某一页。让我们回到示例，其中的路径告诉主机服务器，您想访问 www.google.com 上的“地图”(map) 网络应用程序（也就是“Google 地图”）。有时，这种路径会作为子域放到主机名的前面，例如，“maps.google.com”对应“Google 地图”，“news.google.com”对应“Google 新闻”。</p>
<p>现在我们来谈谈安全性。要判断您是否遭到网上诱骗或误入虚假网站，有一种方法就是仔细观察浏览器地址栏中的网址。尤其请留意主机名：切记，使用主机名的只能是合法拥有者。</p>
<p>例如，您为了访问美国银行的网站而点击了某个链接：</p>
<p>合法网址：</p>
<ul>
<li>www.bankofamerica.com 是合法网址，因为主机名是正确的。</li>
<li>www.bankofamerica.com/smallbusiness 也是合法网址，因为主机名同样是正确的。这个网址的路径指向的是关于小型企业的子网页。</li>
</ul>
<p>可疑网址：</p>
<ul>
<li>bankofamerica.xyz.com 不是美国银行的网站。“bankofamerica”实际上是 xyz.com 网站的子域。</li>
<li>www.xyz.com/bankofamerica 也不是美国银行的网址。“bankofamerica”实际上是 www.xyz.com 中的路径。</li>
</ul>
<p>如果您要使用密码或帐号等敏感信息访问银行网站或进行在线交易，请首先检查地址栏中的网址！应确保网址的协议是“<strong>https://</strong>”，并且浏览器地址栏中显示锁形图标。“https://”表示服务器与浏览器之间传输数据所用的是安全连接。</p>
<p>使用安全连接的美国银行网站的完整网址应该是这样的：<strong>https://</strong>www.bankofamerica.com。安全连接可以确保其他人无法窃取或篡改您所发送的敏感信息。所以“https://”是一个好的标志。但请注意，您依然很有必要检查网址的主机名，以确保自己访问的是合法网站。（这样可以识破那些使用了安全连接的虚假网站！）</p>
<p>在下一章中，我们会介绍键入浏览器地址栏中的网址如何将您转到相应的网页。</p>
<p><strong>IP 地址和 DNS</strong></p>
<p><strong>幽灵电话亭</strong></p>
<p>您想不想知道，当您在地址栏中键入网址时，浏览器是如何找到对应网页的？</p>
<p>每一个网址（例如，“www.google.com”）都对应一个用数字表示的互联网协议 (IP) 地址。</p>
<p>如下所示：<strong>74.125.19.147</strong></p>
<p>IP 地址就是一串数字，用来表示网络上某个特定设备所在的位置，例如哪里是 google.com 或哪里是您的计算机。这有点像妈妈的电话号码：拨打您妈妈的电话号码可以告知接线员将电话接到您妈妈那儿，而 IP 地址可以指示您的计算机与网络上的哪台设备通信，也就是收发数据。</p>
<p>世界上有 350 亿台设备（或更多）连接在互联网上，浏览器并不能自动识别其中的每个 IP 地址，只能使用所谓的“域名系统”（即 DNS）一个一个地查找。DNS 实质上就是网络“电话簿”：电话薄的作用是将“全聚德烤鸭”这样的名称转换成对应的电话号码；而 DNS 则是将网址（例如，“www.google.com”）转换成要连接的对应 IP 地址（例如，“74.125.19.147”），从而获得您想要的信息（在本例中也就是 Google 首页）。</p>
<p>当您在网络浏览器中键入“google.com”时，浏览器会通过 DNS 查找 google.com 的 IP 地址并与之连接，等待目标地址做出响应以确认连接，然后将您要访问 google.com 网页的请求发送到该 IP 地址。位于该 IP 地址的 Google 服务器在收到请求后将所请求的网页发送回您计算机的 IP 地址，让您的浏览器显示该网页。</p>
<p>不过，使用浏览器获取和载入网页与打电话相比，在很多方面还是有区别的。您打电话时可能是这样一个流程：查找电话号码，拨号，等待对方接听，接通后说“喂”，等待对方回应，然后开始对话。有时候连接出现问题，您就得重播。而在网络上，类似的流程是在瞬间完成的；您刚在浏览器中键入“www.google.com”，Google 首页就显示出来了。</p>
<p>下一章我们会介绍一下，使用浏览器获取和载入网站时，如何通过<strong>扩展验证证书</strong>验证网站的身份。</p>
<p><strong>在线身份验证</strong></p>
<p><strong>“您就是那谁吧?”</strong></p>
<p>在现实生活中，您可以直接看到与您分享信息的对象。您可以与对方面对面地交谈，或者在银行分行这样可以信赖的场所会面。您会通过这种方式产生第一印象，判断对方是否值得信赖。</p>
<p>但是在网络上，很难知道网站背后的人究竟是谁。我们通常所依赖的一些表面迹象可能是假的。例如，虚假网页会模仿真实银行网站的徽标、图标和设计风格，就好象是在您住的街区开了一家冒牌店面。</p>
<p>幸运的是，有一些工具可以帮助您判断网站的真伪。有些网站具备<strong>扩展验证证书</strong>，可让您判断运营该网站的组织名称。这种扩展验证证书所提供的信息可帮助您确保不会将个人信息透露给虚假网站。</p>
<p>下面的示例介绍了如何在浏览器中进行扩展验证。如果某个银行的网站已经通过了扩展验证，那么该银行的名称就会显示地址栏的锁形图标与网址之间的绿色框中。</p>
<p>大多数浏览器都提供了扩展验证标志，只要在浏览器地址栏的绿色部分中查找相关组织的名称就可以发现。您还可以点击此类标志，从而查看相关网站的安全信息以及数字证书。</p>
<p>网站拥有者必须通过一系列的检查，在合法身份和权威性得到确认后，才能获得扩展验证证书。在前面的示例中，对 bankofamerica.com 的扩展验证得到了肯定的结果，该网站确实是美国银行的官方网站。您可以将这种证书看成一条纽带，将网址的域名与现实中的某种身份联系在了一起。</p>
<p>只有在您信任运营该网站的组织的情况下，才可以向该网站提供敏感信息。因此，以后您在网络上处理敏感信息之前，请务必先查看相关网站的安全信息。您会发现，这样做绝对是值得的。</p>
<p><strong>向更快的网络时代迈进</strong></p>
<p><strong>加快网络上图片、视频和 JavaScript 的速度</strong></p>
<p>如今的网络就像一锅色香味俱全的大杂烩，有着海量的图片、照片、视频以及奇妙的网络应用程序。网络上某些最生动的体验来自于各种图片和视频，例如，家庭度假的共享相册或者战地记者发布的在线视频报道。</p>
<p>如今的网络已经远远超出了当初那种简单文本和链接的范畴。这意味着每当您的浏览器载入一个网页时，都需要处理更多的数据和更复杂的代码。</p>
<p>数据量和复杂程度究竟提高了多少呢？下面的一些统计数据足以令人震惊：</p>
<ul>
<li>按每页字节数计算，目前一个常见网页上的图片和照片占据了大约 <strong>65% 的信息量</strong>。</li>
<li>每分钟有总时长 <strong>35 小时的视频</strong>上传到 YouTube。（这就好比好莱坞每周要发行 13 万部新片，不过爆米花消耗量可没这么多。）</li>
<li>JavaScript 程序的源代码已经从只有几行增加到了<strong>几百 KB</strong>，每次载入网页或应用程序时都必须处理这些 JavaScript 程序。</li>
</ul>
<p>那么，这些汹涌而来的数据会减慢浏览器载入网页的速度吗？互联网会很快因为堵塞而变得一团糟吗？</p>
<p>这不太可能。计算机科学家们找到了将图片和照片压缩成较小文件的方法，以便于发送和下载，使它们可以在网络上广泛应用。GIF 和 JPEG 是早期文件压缩系统中最常用的格式。同时，插件的发明打破了 HTML 的早期限制，让视频可以嵌入在网页中并进行播放。</p>
<p>将来，用户利用 HTML5 中的 &lt;video&gt; 标记就可以轻松地在网页中嵌入和播放视频了。Google 还与网络社区在 WebM 项目上展开合作，致力于开发一种免费的开放源代码视频格式，可以适应网络上的各种计算机性能和带宽条件，这样无论是内布拉斯加州农家的计算机还是内罗毕的智能手机，都能收到高品质的视频。</p>
<p>不过，包含较大照片或其他图片的网页在载入时依然很慢。因此，Google 的一些工程师一直在尝试进一步压缩图片的新方法，同时还要保持图片的质量和分辨率。初步结果如何呢？非常乐观。他们开发出了一种称为 WebP 的新图片格式，可以将普通图片文件的大小压缩 39%。</p>
<p>在现代浏览器中运行 JavaScript 代码的引擎也经过了重新设计，能够比以往更快地处理代码。这些快速 JavaScript 引擎（如“Google Chrome 浏览器”的 V8 引擎）已成为所有现代浏览器的核心部分。这意味着基于 JavaScript 的下一代网络应用程会拥有极高的实用性，并彻底摆脱 JavaScript 代码复杂度日益增加所带来的羁绊。</p>
<p>“Google Chrome 浏览器”等现代浏览器还采用了一种称为“DNS 预解析”的技术，可以更快地抓取和载入网页。通过 DNS 查找将网址转换为 IP 地址的过程称为“解析”，反之则称为“反向解析”。“Chrome 浏览器”会通过 DNS 预解析同时查找网页上的其他所有链接，并在后台将这些链接预解析为 IP 地址。因此，当您实际点击网页上的某个链接后，浏览器就能立即将您转到新的网页。随着使用次数的增加，“Chrome 浏览器”还能通过以前的访问记录获取信息，这样您在下次访问某个以前曾访问过的网页时，“Chrome 浏览器”就会自动预解析该网页上的所有相关链接和元素。</p>
<p>或许有一天，浏览器能在载入网页前就做出预测，不仅知道要预解析哪些链接，还知道要预先抓取哪些网站元素（如图片或视频）。<em></em>这会使网络速度更快。</p>
<p>我们希望在不久的将来，浏览器载入新网页就像翻书一样快。</p>
<p><strong>开放源代码和浏览器</strong></p>
<p><strong>站在巨人的肩膀上</strong></p>
<p>如今的互联网站在了巨人们的肩膀上：技术人员、点子专家、开发人员以及那些不断拓展创新范围和分享自己知识的组织。</p>
<p>分享精神正是开放源代码的核心所在。“开放源代码”意味着将软件的内部运行方式（也就是“源代码”）公布于众，而软件也会以一种开放和协作的方式编写。任何人都可以查看源代码、了解它的原理、对它进行调整或补充，并在其他产品或服务中重复使用。</p>
<p>开放源代码软件在网络的很多方面（包括现代浏览器）都起着巨大的作用。开放源代码浏览器 Mozilla Firefox 的发布，为日后很多出色的浏览器创新功能铺平了道路。“Google Chrome 浏览器”也是在 Mozilla Firefox 浏览器的某些组件以及开放源代码呈现引擎 WebKit 等基础上开发的。本着同一种精神，Google 开放了“Chrome 浏览器”的源代码，让全世界的网络社区都可以在他们自己的产品中使用“Chrome 浏览器”的创新，甚至进一步完善“Chrome 浏览器”的源代码。</p>
<p>这种开放源代码的浏览器更快、更简单而且更安全，它的受益者并不单单是网页开发人员和普通用户。像 Google 这样的公司也在公开分享构想的过程中受益匪浅。更好的浏览器可以为用户提供更好的网络体验，而用户在获得更好的体验后，又会浏览更多的网络内容。更好的浏览器还可以帮助企业开发出具有最新先进功能的网络应用程序，这同样可以改善用户体验。</p>
<p>浏览器并不是网络中唯一能采用开放源代码做法的地方。您可以去问一下任何一位网络开发人员，他们在托管和发布网站的过程中，可能都会用到开放源代码的 Apache HTTP Server；或者，他们是在安装了 Linux 开放源代码操作系统的计算机上开发了代码，以上只是几个示例。开放源代码社区会一如既往地为改进网络而努力，让网络成为可供下一代人站立的宽阔肩膀。</p>
<p><strong>最后一个须知..</strong></p>
<p><strong>云计算时代的生活</strong></p>
<p>&#8230;现在我们要说第 20 件事情了。让我们概括一下。</p>
<p>如今的网络是一个多姿多彩、生动直观、注重实效、古灵精怪、繁忙热闹、朋友汇聚、有趣并且非常实用的地方。我们许多人都生活在<a href="http://www.20thingsilearned.com/what-is-the-internet/1">互联网</a>上的<a href="http://www.20thingsilearned.com/cloud-computing/1">云计算</a>中：我们使用基于网络的应用程序在浏览器中在线读新闻、看电影、和朋友聊天以及处理我们的日常事务。<a href="http://www.20thingsilearned.com/web-apps/1">网络应用程序</a>让我们可以在任何地方做这些事情，就算是自己的笔记本电脑留在家里也可以。</p>
<p>这一切都要归功于 <a href="http://www.20thingsilearned.com/html/1">HTML、JavaScript 和 CSS</a> 等网络标准，以及<a href="http://www.20thingsilearned.com/plugins/1">浏览器插件</a>。<a href="http://www.20thingsilearned.com/html5/1">HTML5</a> 的新功能可以帮助开发人员构建颇具创意的下一代网络应用程序。</p>
<p>云计算还有哪些其他的前景？</p>
<ul>
<li>只有<a href="http://www.20thingsilearned.com/old-vs-new-browsers/1">新一代的浏览器</a>才能充分利用网络的各种新功能。</li>
<li>新一代的浏览器还能<a href="http://www.20thingsilearned.com/browser-protection/1">保护用户</a>免受<a href="http://www.20thingsilearned.com/malware/1">恶意软件和网上诱骗</a>的攻击。</li>
<li><a href="http://www.20thingsilearned.com/open-source/1">开放源代码</a>共享为我们提供了更好的浏览器以及速度更快、内容更丰富而且架构更精密的网络。开放源代码的智能将会为网络开创更加美好的未来。</li>
<li>未来有哪些值得期待的事情？<a href="http://www.20thingsilearned.com/threed/1">浏览器支持 3D 功能</a>，<a href="http://www.20thingsilearned.com/page-load/1">载入速度更快</a>，在各种设备之间<a href="http://www.20thingsilearned.com/sync/1">同步</a>，以及<a href="http://www.20thingsilearned.com/dns/1">其他一些事情</a>。</li>
<li>要成为网络达人，您需要自学一些东西，例如：针对各种不同的内容（包括 <a href="http://www.20thingsilearned.com/browser-cookies/1">Cookie</a>）控制浏览器的<a href="http://www.20thingsilearned.com/browser-privacy/1">隐私设置</a>。</li>
<li>只要您注意浏览器中一些可见的提示，上网就会更安全，例如检查您要访问的网址，寻找“https://”<a href="http://www.20thingsilearned.com/url/1">安全连接</a>或<a href="http://www.20thingsilearned.com/identity/1">扩展验证</a>。</li>
</ul>
<p>最后总结</p>
<p><strong>使用新一代的浏览器</strong>，这是首当其冲的。或者尝试使用一种新型浏览器，看它能否更好地满足您的需要，为您提供更愉快的浏览体验。</p>
<p><strong>网络会以惊人的速度不断发展！</strong>支持像 HTML5、CCS3 和 WebGL 等尖端网络技术，因为这些技术会帮助网络社区构想并实现创新的美好未来。</p>
<p><strong>最后，尝试一下新事物。</strong>网络上每天都会出现新奇而令人兴奋的事物，不妨尝试一下您以前没有想过能在网上做的事情，比如搜索前十代的祖先，或者观看从喜马拉雅山攀登营地发来的实时网络影像。您会对自己的发现大吃一惊！</p>
<p>原文地址：<a href="http://www.20thingsilearned.com/zh-CN/home">http://www.20thingsilearned.com/zh-CN/home</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-public-dns.html' rel='bookmark' title='Google Public DNS'>Google Public DNS</a></li>
<li><a href='http://www.biaodianfu.com/speeding-up-website.html' rel='bookmark' title='提高网站显示速度的方法'>提高网站显示速度的方法</a></li>
<li><a href='http://www.biaodianfu.com/google-chrome-frame.html' rel='bookmark' title='Google Chrome Frame 谷歌浏览器框架'>Google Chrome Frame 谷歌浏览器框架</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/20-things-i-learned-about-browsers-and-the-web.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>流量分析：Google Urchin 代码的分析</title>
		<link>http://www.biaodianfu.com/google-analytics-urchin-module.html</link>
		<comments>http://www.biaodianfu.com/google-analytics-urchin-module.html#comments</comments>
		<pubDate>Thu, 02 Jun 2011 09:47:48 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[网站分析]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Urchin]]></category>
		<category><![CDATA[流量统计]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3789</guid>
		<description><![CDATA[ Google Urchin 是 Google  Analytics 的前身，通过对Google Urchin 代码的分析可以让你更好的理解Google Analytics的实现原理，更好的了解其整个运行机制。下面是详细的统计代码，已添加注释。 //-- Google Analytics Urchin Module //-- Copyright 2007 Google, All Rights Reserved. //-- Urchin On Demand Settings ONLY var _uacct="";   // 设置统计账号 set up the Urchin Account var _userv=0;   // 设置统计模式service mode (0=local,1=remote,2=both) //-- UTM User Settings var _ufsc=1;   // 是否收集客户端信息 set client info flag (1=on&#124;0=off) var _udn="auto";  // 为域设置Cookie [...]]]></description>
			<content:encoded><![CDATA[<p> Google Urchin 是 Google  Analytics 的前身，通过对Google Urchin 代码的分析可以让你更好的理解<a href="http://www.biaodianfu.com/google-analytics-architecture.html">Google Analytics的实现原理</a>，更好的了解其整个运行机制。下面是详细的统计代码，已添加注释。</p>
<pre lang="javascript" line="0" escaped="true">//-- Google Analytics Urchin Module
//-- Copyright 2007 Google, All Rights Reserved.

//-- Urchin On Demand Settings ONLY
var _uacct="";   // 设置统计账号 set up the Urchin Account
var _userv=0;   // 设置统计模式service mode (0=local,1=remote,2=both)

//-- UTM User Settings
var _ufsc=1;   // 是否收集客户端信息 set client info flag (1=on|0=off)
var _udn="auto";  // 为域设置Cookie (auto|none|domain) set the domain name for cookies
var _uhash="on";  // 是否设置域哈希 (on|off) unique domain hash for cookies
var _utimeout="1800";    // 会话失效时间 set the inactive session timeout in seconds
var _ugifpath="/__utm.gif"; // 请求图片文件 set the web path to the __utm.gif file
var _utsp="|";   // Cookie中的内容分隔符 transaction field separator
var _uflash=1;   // 开启flahs版本跟踪 set flash version detect option (1=on|0=off)
var _utitle=1;   // 开启Title内容跟踪 set the document title detect option (1=on|0=off)
var _ulink=0;   // 是否开启跨域跟踪 enable linker functionality (1=on|0=off)
var _uanchor=0;   // 是否收集井号符后面参数 enable use of anchors for campaign (1=on|0=off)
var _utcp="/";   // cookies存放地址 the cookie path for tracking
var _usample=100;  // 采样百分比 The sampling % of visitors to track (1-100).

//-- UTM Campaign Tracking Settings
var _uctm=1;   // set campaign tracking module (1=on|0=off)
var _ucto="15768000";  // set timeout in seconds (6 month default)
var _uccn="utm_campaign"; // name
var _ucmd="utm_medium";  // medium (cpc|cpm|link|email|organic)
var _ucsr="utm_source";  // source
var _uctr="utm_term";  // term/keyword
var _ucct="utm_content"; // content
var _ucid="utm_id";  // id number
var _ucno="utm_nooverride"; // don't override

//-- Auto/Organic Sources and Keywords 搜索引擎来源及关键词参数名
var _uOsr=new Array();
var _uOkw=new Array();
_uOsr[0]="google"; _uOkw[0]="q";
_uOsr[1]="yahoo"; _uOkw[1]="p";
_uOsr[2]="msn";  _uOkw[2]="q";
_uOsr[3]="aol";  _uOkw[3]="query";
_uOsr[4]="aol";  _uOkw[4]="encquery";
_uOsr[5]="lycos"; _uOkw[5]="query";
_uOsr[6]="ask";  _uOkw[6]="q";
_uOsr[7]="altavista"; _uOkw[7]="q";
_uOsr[8]="netscape"; _uOkw[8]="query";
_uOsr[9]="cnn"; _uOkw[9]="query";
_uOsr[10]="looksmart"; _uOkw[10]="qt";
_uOsr[11]="about"; _uOkw[11]="terms";
_uOsr[12]="mamma"; _uOkw[12]="query";
_uOsr[13]="alltheweb"; _uOkw[13]="q";
_uOsr[14]="gigablast"; _uOkw[14]="q";
_uOsr[15]="voila"; _uOkw[15]="rdata";
_uOsr[16]="virgilio"; _uOkw[16]="qs";
_uOsr[17]="live"; _uOkw[17]="q";
_uOsr[18]="baidu"; _uOkw[18]="wd";
_uOsr[19]="alice"; _uOkw[19]="qs";
_uOsr[20]="yandex"; _uOkw[20]="text";
_uOsr[21]="najdi"; _uOkw[21]="q";
_uOsr[22]="aol"; _uOkw[22]="q";
_uOsr[23]="club-internet"; _uOkw[23]="q";
_uOsr[24]="mama"; _uOkw[24]="query";
_uOsr[25]="seznam"; _uOkw[25]="q";
_uOsr[26]="search"; _uOkw[26]="q";
_uOsr[27]="szukaj"; _uOkw[27]="szukaj";
_uOsr[28]="szukaj"; _uOkw[28]="qt";
_uOsr[29]="netsprint"; _uOkw[29]="q";
_uOsr[30]="google.interia"; _uOkw[30]="q";
_uOsr[31]="szukacz"; _uOkw[31]="q";
_uOsr[32]="yam"; _uOkw[32]="k";
_uOsr[33]="pchome"; _uOkw[33]="q";
_uOsr[34]="bing"; _uOkw[34]="q";

//-- Auto/Organic Keywords to Ignore 设置忽略关键词
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="<a href="http://www.urchin.com">www.urchin.com</a>";

//-- Referral domains to Ignore 设置忽略直接来源域
var _uRno=new Array();
//_uRno[0]=".urchin.com";

//-- **** Don't modify below this point ***
var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_udlh="",_uwv="1";
var _ugifpath2="<a href="http://www.google-analytics.com/__utm.gif">http://www.google-analytics.com/__utm.gif</a>";
if (_udl.hash) _udlh=_udl.href.substring(_udl.href.indexOf('#'));
if (_udl.protocol=="https:") _ugifpath2="<a href="https://ssl.google-analytics.com/__utm.gif">https://ssl.google-analytics.com/__utm.gif</a>";
if (!_utcp || _utcp=="") _utcp="/";
var _ecm = {};_ecm['\''] = "'0";_ecm[')'] = "'1";_ecm['*'] = "'2";_ecm['!'] = "'3";

//统计主方法
function urchinTracker(page,opt) {
 if (_udl.protocol=="file:") return;
 if (_uff &amp;&amp; (!page || page=="")) return;
 var a,b,c,xx,v,z,k,x="",s="",f=0;
 var nx=" expires="+_uNx()+";";
 var dc=_ubd.cookie;
 _udh=_uDomain();
 if (!_uVG()) return;
 _uu=Math.round(Math.random()*2147483647);
 _udt=new Date();
 _ust=Math.round(_udt.getTime()/1000);
 a=dc.indexOf("__utma="+_udh);
 b=dc.indexOf("__utmb="+_udh);
 c=dc.indexOf("__utmc="+_udh);
 if (_udn &amp;&amp; _udn!="") { _udo=" domain="+_udn+";"; }
 if (_utimeout &amp;&amp; _utimeout!="") {
  x=new Date(_udt.getTime()+(_utimeout*1000));
  x=" expires="+x.toGMTString()+";";
 }
 if (_ulink) {
  if (_uanchor &amp;&amp; _udlh &amp;&amp; _udlh!="") s=_udlh+"&amp;";
  s+=_udl.search;
  if(s &amp;&amp; s!="" &amp;&amp; s.indexOf("__utma=")&gt;=0) {
   if (!(_uIN(a=_uGC(s,"__utma=","&amp;")))) a="-";
   if (!(_uIN(b=_uGC(s,"__utmb=","&amp;")))) b="-";
   if (!(_uIN(c=_uGC(s,"__utmc=","&amp;")))) c="-";
   v=_uGC(s,"__utmv=","&amp;");
   z=_uGC(s,"__utmz=","&amp;");
   k=_uGC(s,"__utmk=","&amp;");
   xx=_uGC(s,"__utmx=","&amp;");
   if ((k*1) != ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";xx="-";z="-";v="-";}
   if (a!="-" &amp;&amp; b!="-" &amp;&amp; c!="-") f=1;
   else if(a!="-") f=2;
  }
 }
 if(f==1) {
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo;
 } else if (f==2) {
  a=_uFixA(s,"&amp;",_ust);
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
  _ufns=1;
 } else if (a&gt;=0 &amp;&amp; b&gt;=0 &amp;&amp; c&gt;=0) {
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
 } else {
  if (a&gt;=0) a=_uFixA(_ubd.cookie,";",_ust);
  else a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
  _ufns=1;
 }
 if (_ulink &amp;&amp; xx &amp;&amp; xx!="" &amp;&amp; xx!="-") {
   xx=_uUES(xx);
   if (xx.indexOf(";")==-1) _ubd.cookie="__utmx="+xx+"; path="+_utcp+";"+nx+_udo;
 }
 if (_ulink &amp;&amp; v &amp;&amp; v!="" &amp;&amp; v!="-") {
  v=_uUES(v);
  if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo;
 }
 _uInfo(page,opt);
 _ufns=0;
 _ufno=0;
 if (!page || page=="") _uff=1;
}

//发送页面信息请求
function _uInfo(page,opt) {
 var p,s="",dm="",pg=_udl.pathname+_udl.search;
 if (page &amp;&amp; page!="") pg=_uES(page,1);
 _ur=_ubd.referrer;
 if (!_ur || _ur=="") { _ur="-"; }
 else {
  dm=_ubd.domain;
  if(_utcp &amp;&amp; _utcp!="/") dm+=_utcp;
  p=_ur.indexOf(dm);
  if ((p&gt;=0) &amp;&amp; (p&lt;=8)) { _ur="0"; }
  if (_ur.indexOf("[")==0 &amp;&amp; _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
 }
 s+="&amp;utmn="+_uu;
 if (opt) s+=opt;
 if (_ufsc) s+=_uBInfo();
 if (_uctm) s+=_uCInfo();
 if (_utitle &amp;&amp; _ubd.title &amp;&amp; _ubd.title!="") s+="&amp;utmdt="+_uES(_ubd.title);
 if (_udl.hostname &amp;&amp; _udl.hostname!="") s+="&amp;utmhn="+_uES(_udl.hostname);
 s+="&amp;utmr="+_ur;
 s+="&amp;utmp="+pg;
 if ((_userv==0 || _userv==2) &amp;&amp; _uSP()) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() {_uVoid();}
 }
 if ((_userv==1 || _userv==2) &amp;&amp; _uSP()) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&amp;utmac="+_uacct+"&amp;utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
 return;
}

//定义返回
function _uVoid() { return; }

//设置Cookies信息
function _uCInfo() {
 if (!_ucto || _ucto=="") { _ucto="15768000"; }
 if (!_uVG()) return;
 var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0,i=0,z="-",s="";
 if (_uanchor &amp;&amp; _udlh &amp;&amp; _udlh!="") s=_udlh+"&amp;";
 s+=_udl.search;
 var x=new Date(_udt.getTime()+(_ucto*1000));
 var dc=_ubd.cookie;
 x=" expires="+x.toGMTString()+";";
 if (_ulink &amp;&amp; !_ubl) {
  z=_uUES(_uGC(s,"__utmz=","&amp;"));
  if (z!="-" &amp;&amp; z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; }
 }
 z=dc.indexOf("__utmz="+_udh);
 if (z&gt;-1) { z=_uGC(dc,"__utmz="+_udh,";"); }
 else { z="-"; }
 t=_uGC(s,_ucid+"=","&amp;");
 t2=_uGC(s,_ucsr+"=","&amp;");
 t3=_uGC(s,"gclid=","&amp;");
 if ((t!="-" &amp;&amp; t!="") || (t2!="-" &amp;&amp; t2!="") || (t3!="-" &amp;&amp; t3!="")) {
  if (t!="-" &amp;&amp; t!="") c+="utmcid="+_uEC(t);
  if (t2!="-" &amp;&amp; t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); }
  if (t3!="-" &amp;&amp; t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); }
  t=_uGC(s,_uccn+"=","&amp;");
  if (t!="-" &amp;&amp; t!="") c+="|utmccn="+_uEC(t);
  else c+="|utmccn=(not+set)";
  t=_uGC(s,_ucmd+"=","&amp;");
  if (t!="-" &amp;&amp; t!="") c+="|utmcmd="+_uEC(t);
  else  c+="|utmcmd=(not+set)";
  t=_uGC(s,_uctr+"=","&amp;");
  if (t!="-" &amp;&amp; t!="") c+="|utmctr="+_uEC(t);
  else { t=_uOrg(1); if (t!="-" &amp;&amp; t!="") c+="|utmctr="+_uEC(t); }
  t=_uGC(s,_ucct+"=","&amp;");
  if (t!="-" &amp;&amp; t!="") c+="|utmcct="+_uEC(t);
  t=_uGC(s,_ucno+"=","&amp;");
  if (t=="1") o=1;
  if (z!="-" &amp;&amp; o==1) return "";
 }
 if (c=="-" || c=="") { c=_uOrg(); if (z!="-" &amp;&amp; _ufno==1)  return ""; }
 if (c=="-" || c=="") { if (_ufns==1)  c=_uRef(); if (z!="-" &amp;&amp; _ufno==1)  return ""; }
 if (c=="-" || c=="") {
  if (z=="-" &amp;&amp; _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
  if (c=="-" || c=="") return "";
 }
 if (z!="-") {
  i=z.indexOf(".");
  if (i&gt;-1) i=z.indexOf(".",i+1);
  if (i&gt;-1) i=z.indexOf(".",i+1);
  if (i&gt;-1) i=z.indexOf(".",i+1);
  t=z.substring(i+1,z.length);
  if (t.toLowerCase()==c.toLowerCase()) cs=1;
  t=z.substring(0,i);
  if ((i=t.lastIndexOf(".")) &gt; -1) {
   t=t.substring(i+1,t.length);
   cn=(t*1);
  }
 }
 if (cs==0 || _ufns==1) {
  t=_uGC(dc,"__utma="+_udh,";");
  if ((i=t.lastIndexOf(".")) &gt; 9) {
   _uns=t.substring(i+1,t.length);
   _uns=(_uns*1);
  }
  cn++;
  if (_uns==0) _uns=1;
  _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo;
 }
 if (cs==0 || _ufns==1) return "&amp;utmcn=1";
 else return "&amp;utmcr=1";
}

//引荐网站来源的解析
//utmcsr 来源域名
//utmcct 来源域名下的路径
function _uRef() {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k,n;
 if ((i=_ur.indexOf("://"))&lt;0) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") &gt; -1) {
  k=h.substring(h.indexOf("/"),h.length);
  if (k.indexOf("?") &gt; -1) k=k.substring(0,k.indexOf("?"));
  h=h.substring(0,h.indexOf("/"));
 }
 h=h.toLowerCase();
 n=h;
 if ((i=n.indexOf(":")) &gt; -1) n=n.substring(0,i);
 for (var ii=0;ii&lt;_uRno.length;ii++) {
  if ((i=n.indexOf(_uRno[ii].toLowerCase())) &gt; -1 &amp;&amp; n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
 }
 if (h.indexOf("<a href="http://www.&quot;)==0">www.")==0</a>) h=h.substring(4,h.length);
 return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
}

//搜索引擎来源的解析
function _uOrg(t) {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k;
 if ((i=_ur.indexOf("://")) &lt; 0) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") &gt; -1) {
  h=h.substring(0,h.indexOf("/"));
 }
 for (var ii=0;ii&lt;_uOsr.length;ii++) {
  if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) &gt; -1) {
   if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) &gt; -1 || (i=_ur.indexOf("&amp;"+_uOkw[ii]+"=")) &gt; -1) {
    k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
    if ((i=k.indexOf("&amp;")) &gt; -1) k=k.substring(0,i);
    for (var yy=0;yy&lt;_uOno.length;yy++) {
     if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
    }
    if (t) return _uEC(k);
    else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
   }
  }
 }
 return "";
}

//获取浏览器信息
function _uBInfo() {
 var sr="-",sc="-",ul="-",fl="-",cs="-",je=1;
 var n=navigator;
 if (self.screen) {
  sr=screen.width+"x"+screen.height;
  sc=screen.colorDepth+"-bit";
 } else if (self.java) {
  var j=java.awt.Toolkit.getDefaultToolkit();
  var s=j.getScreenSize();
  sr=s.width+"x"+s.height;
 }
 if (n.language) { ul=n.language.toLowerCase(); }
 else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
 je=n.javaEnabled()?1:0;
 if (_uflash) fl=_uFlash();
 if (_ubd.characterSet) cs=_uES(_ubd.characterSet);
 else if (_ubd.charset) cs=_uES(_ubd.charset);
 return "&amp;utmcs="+cs+"&amp;utmsr="+sr+"&amp;utmsc="+sc+"&amp;utmul="+ul+"&amp;utmje="+je+"&amp;utmfl="+fl;
}

//电子商务功能

//交易
//utmtid 订单 ID，为网址编码字符串。
//utmtst 关联企业。通常用于电子商务中的实体商户。
//utmtto 总计。单位和价格的值。
//utmttx 税款。单位和价格的值。
//utmtsp 运费，单位和价格的值。
//utmtci 帐单邮寄地址所在城市。
//utmtrg 帐单邮寄地址所在区域，为网址编码字符串。
//utmtco 帐单邮寄地址所在国家/地区

//商品
//utmtid
//utmipc 产品码。这是一个特定产品SKU码
//utmipn 产品名称，是一个URL-encoded 字串
//utmiva Variations on an item. For example: large, medium, small, pink, white, black, green. String is URL-encoded.
//utmipr 单品价格。仅美元格式
//utmiqt 数量

//utmwv 跟踪代码版本
function __utmSetTrans() {
 var e;
 if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
 else if (_ubd.utmform &amp;&amp; _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
 if (!e) return;
 var l=e.value.split("UTM:");
 var i,i2,c;
 if (_userv==0 || _userv==2) i=new Array();
 if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }

 for (var ii=0;ii&lt;l.length;ii++) {
  l[ii]=_uTrim(l[ii]);
  if (l[ii].charAt(0)!='T' &amp;&amp; l[ii].charAt(0)!='I') continue;
  var r=Math.round(Math.random()*2147483647);
  if (!_utsp || _utsp=="") _utsp="|";
  var f=l[ii].split(_utsp),s="";
  if (f[0].charAt(0)=='T') {
   s="&amp;utmt=tran"+"&amp;utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&amp;&amp;f[1]!="") s+="&amp;utmtid="+_uES(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&amp;&amp;f[2]!="") s+="&amp;utmtst="+_uES(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&amp;&amp;f[3]!="") s+="&amp;utmtto="+_uES(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&amp;&amp;f[4]!="") s+="&amp;utmttx="+_uES(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&amp;&amp;f[5]!="") s+="&amp;utmtsp="+_uES(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&amp;&amp;f[6]!="") s+="&amp;utmtci="+_uES(f[6]);
   f[7]=_uTrim(f[7]); if(f[7]&amp;&amp;f[7]!="") s+="&amp;utmtrg="+_uES(f[7]);
   f[8]=_uTrim(f[8]); if(f[8]&amp;&amp;f[8]!="") s+="&amp;utmtco="+_uES(f[8]);
  } else {
   s="&amp;utmt=item"+"&amp;utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&amp;&amp;f[1]!="") s+="&amp;utmtid="+_uES(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&amp;&amp;f[2]!="") s+="&amp;utmipc="+_uES(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&amp;&amp;f[3]!="") s+="&amp;utmipn="+_uES(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&amp;&amp;f[4]!="") s+="&amp;utmiva="+_uES(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&amp;&amp;f[5]!="") s+="&amp;utmipr="+_uES(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&amp;&amp;f[6]!="") s+="&amp;utmiqt="+_uES(f[6]);
  }
  if ((_userv==0 || _userv==2) &amp;&amp; _uSP()) {
   i[ii]=new Image(1,1);
   i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;
   i[ii].onload=function() { _uVoid(); }
  }
  if ((_userv==1 || _userv==2) &amp;&amp; _uSP()) {
   i2[ii]=new Image(1,1);
   i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&amp;utmac="+_uacct+"&amp;utmcc="+c;
   i2[ii].onload=function() { _uVoid(); }
  }
 }
 return;
}

//捕获flash版本信息
function _uFlash() {
 var f="-",n=navigator;
 if (n.plugins &amp;&amp; n.plugins.length) {
  for (var ii=0;ii&lt;n.plugins.length;ii++) {
   if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
    f=n.plugins[ii].description.split('Shockwave Flash ')[1];
    break;
   }
  }
 } else if (window.ActiveXObject) {
  for (var ii=10;ii&gt;=2;ii--) {
   try {
    var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
    if (fl) { f=ii + '.0'; break; }
   }
   catch(e) {}
  }
 }
 return f;
}

//跨域GET参数
function __utmLinker(l,h) {
 if (!_ulink) return;
 var p,k,a="-",b="-",c="-",x="-",z="-",v="-";
 var dc=_ubd.cookie;
 if (!l || l=="") return;
 var iq = l.indexOf("?");
 var ih = l.indexOf("#");
 if (dc) {
  a=_uES(_uGC(dc,"__utma="+_udh,";"));
  b=_uES(_uGC(dc,"__utmb="+_udh,";"));
  c=_uES(_uGC(dc,"__utmc="+_udh,";"));
  x=_uES(_uGC(dc,"__utmx="+_udh,";"));
  z=_uES(_uGC(dc,"__utmz="+_udh,";"));
  v=_uES(_uGC(dc,"__utmv="+_udh,";"));
  k=(_uHash(a+b+c+x+z+v)*1)+(_udh*1);
  p="__utma="+a+"&amp;__utmb="+b+"&amp;__utmc="+c+"&amp;__utmx="+x+"&amp;__utmz="+z+"&amp;__utmv="+v+"&amp;__utmk="+k;
 }
 if (p) {
  if (h &amp;&amp; ih&gt;-1) return;
  if (h) { _udl.href=l+"#"+p; }
  else {
   if (iq==-1 &amp;&amp; ih==-1) _udl.href=l+"?"+p;
   else if (ih==-1) _udl.href=l+"&amp;"+p;
   else if (iq==-1) _udl.href=l.substring(0,ih-1)+"?"+p+l.substring(ih);
   else _udl.href=l.substring(0,ih-1)+"&amp;"+p+l.substring(ih);
  }
 } else { _udl.href=l; }
}

//跨域POST参数
function __utmLinkPost(f,h) {
 if (!_ulink) return;
 var p,k,a="-",b="-",c="-",x="-",z="-",v="-";
 var dc=_ubd.cookie;
 if (!f || !f.action) return;
 var iq = f.action.indexOf("?");
 var ih = f.action.indexOf("#");
 if (dc) {
  a=_uES(_uGC(dc,"__utma="+_udh,";"));
  b=_uES(_uGC(dc,"__utmb="+_udh,";"));
  c=_uES(_uGC(dc,"__utmc="+_udh,";"));
  x=_uES(_uGC(dc,"__utmx="+_udh,";"));
  z=_uES(_uGC(dc,"__utmz="+_udh,";"));
  v=_uES(_uGC(dc,"__utmv="+_udh,";"));
  k=(_uHash(a+b+c+x+z+v)*1)+(_udh*1);
  p="__utma="+a+"&amp;__utmb="+b+"&amp;__utmc="+c+"&amp;__utmx="+x+"&amp;__utmz="+z+"&amp;__utmv="+v+"&amp;__utmk="+k;
 }
 if (p) {
  if (h &amp;&amp; ih&gt;-1) return;
  if (h) { f.action+="#"+p; }
  else {
   if (iq==-1 &amp;&amp; ih==-1) f.action+="?"+p;
   else if (ih==-1) f.action+="&amp;"+p;
   else if (iq==-1) f.action=f.action.substring(0,ih-1)+"?"+p+f.action.substring(ih);
   else f.action=f.action.substring(0,ih-1)+"&amp;"+p+f.action.substring(ih);
  }
 }
 return;
}

//设置用户群体
function __utmSetVar(v) {
 if (!v || v=="") return;
 if (!_udo || _udo == "") {
  _udh=_uDomain();
  if (_udn &amp;&amp; _udn!="") { _udo=" domain="+_udn+";"; }
 }
 if (!_uVG()) return;
 var r=Math.round(Math.random() * 2147483647);
 _ubd.cookie="__utmv="+_udh+"."+_uES(v)+"; path="+_utcp+"; expires="+_uNx()+";"+_udo;
 var s="&amp;utmt=var&amp;utmn="+r;
 if ((_userv==0 || _userv==2) &amp;&amp; _uSP()) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() { _uVoid(); }
 }
 if ((_userv==1 || _userv==2) &amp;&amp; _uSP()) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&amp;utmac="+_uacct+"&amp;utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
}

//事件跟踪方法
function __utmTrackEvent(category,action,opt_label,opt_value,opt_page) {
  if (!category || category=="" || !action || action=="") return;
  var pg=opt_page,opt="";
  if (!pg || pg=="") pg=_udl.pathname+_udl.search;
  opt+="&amp;utmt=event&amp;utme="+"5("+_UEE(category)+"*"+_UEE(action);
  if (opt_label &amp;&amp; opt_label!="") opt+="*"+opt_label; opt+=")";
  if (opt_value &amp;&amp; opt_value!="") opt+="("+opt_value+")";
  urchinTracker(pg,opt);
 }

//设置Cookies
//__utma 此 Cookie 通常会在该网络浏览器首次访问您的网站时写入其中。 如果此 Cookie 被浏览器操作者删除，而该浏览器又对您的网站进行了后续访问，一个拥有不同唯一 ID 的 __utma Cookie 将会写入其中。此 Cookie 用于确定您网站的唯一身份访问者，并会在每次网页浏览时获得更新。此外，Google Analytics（分析）会将为此 Cookie 指定的唯一 ID 作为额外的安全措施，以确保此 Cookie 的有效性和可访问性。
//__utmx 此 Cookie 用于 Website Optimizer，并且仅当您的网页正确安装并配置了 Website Optimizer 跟踪代码时才会设置。当优化脚本执行时，此 Cookie 会储存该访问者针对每个实验所分配到的变量，确保用户在您的网站体验的一致性。
//__utmz 此 Cookie 会储存访问者到达您的网站通过的引荐类型，即是否通过直接方法、引荐连接、网站搜索或广告系列（例如广告或电子邮件）到达。这些信息会用来计算您网站的搜索引擎流量、广告系列和网页的导航方式。此 Cookie 会在每次网页浏览时获得更新。
//__utmv 此 Cookie 正常情况下在默认跟踪代码配置中不会出现。__utmv Cookie 通过 _setVar() 方法传递所提供的信息，您可以使用该方法创建自定义用户细分。然后，此字符串将通过 utmcc 参数传递到 GIF 请求网址中记录的 Google Analytics（分析）服务器。仅当您将 _setVar() 方法添加到您网站页面的跟踪代码中时，此 Cookie 才会写入浏览器中。
function _uGCS() {
 var t,c="",dc=_ubd.cookie;
 if ((t=_uGC(dc,"__utma="+_udh,";"))!="-") c+=_uES("__utma="+t+";+");
 if ((t=_uGC(dc,"__utmb="+_udh,";"))!="-") c+=_uES("__utmb="+t+";+");
 if ((t=_uGC(dc,"__utmc="+_udh,";"))!="-") c+=_uES("__utmc="+t+";+");
 if ((t=_uGC(dc,"__utmx="+_udh,";"))!="-") c+=_uES("__utmx="+t+";+");
 if ((t=_uGC(dc,"__utmz="+_udh,";"))!="-") c+=_uES("__utmz="+t+";+");
 if ((t=_uGC(dc,"__utmv="+_udh,";"))!="-") c+=_uES("__utmv="+t+";");
 if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
 return c;
}

//截取URL参数方法（需处理URL参数字符串，参数名[a=]，截止字符）
function _uGC(l,n,s) {
 if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
 var i,i2,i3,c="-";
 i=l.indexOf(n);
 i3=n.indexOf("=")+1;
 if (i &gt; -1) {
  i2=l.indexOf(s,i); if (i2 &lt; 0) { i2=l.length; }
  c=l.substring((i+i3),i2);
 }
 return c;
}

//获取域哈希
function _uDomain() {
 if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
 if (_udn=="auto") {
  var d=_ubd.domain;
  if (d.substring(0,4)=="www.") {
   d=d.substring(4,d.length);
  }
  _udn=d;
 }
 _udn = _udn.toLowerCase();
 if (_uhash=="off") return 1;
 return _uHash(_udn);
}

//哈希算法
function _uHash(d) {
 if (!d || d=="") return 1;
 var h=0,g=0;
 for (var i=d.length-1;i&gt;=0;i--) {
  var c=parseInt(d.charCodeAt(i));
  h=((h &lt;&lt; 6) &amp; 0xfffffff) + c + (c &lt;&lt; 14);
  if ((g=h &amp; 0xfe00000)!=0) h=(h ^ (g &gt;&gt; 21));
 }
 return h;
}

//新请求时重新组装__utma参数，更新最后2组时间戳，并对计数器计数，主要是对访问次数进行计数。
function _uFixA(c,s,t) {
 if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
 var a=_uGC(c,"__utma="+_udh,s);
 var lt=0,i=0;
 if ((i=a.lastIndexOf(".")) &gt; 9) {
  _uns=a.substring(i+1,a.length);
  _uns=(_uns*1)+1;
  a=a.substring(0,i);
  if ((i=a.lastIndexOf(".")) &gt; 7) {
   lt=a.substring(i+1,a.length);
   a=a.substring(0,i);
  }
  if ((i=a.lastIndexOf(".")) &gt; 5) {
   a=a.substring(0,i);
  }
  a+="."+lt+"."+t+"."+_uns;
 }
 return a;
}

//去掉空格回车
function _uTrim(s) {
  if (!s || s=="") return "";
  while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
  while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
  return s;
}

//将URL中的空格替换成+
function _uEC(s) {
  var n="";
  if (!s || s=="") return "";
  for (var i=0;i&lt;s.length;i++) {if (s.charAt(i)==" ") n+="+"; else n+=s.charAt(i);}
  return n;
}

//解析Cookies（主要用于分配采样数据）
function __utmVisitorCode(f) {
 var r=0,t=0,i=0,i2=0,m=31;
 var a=_uGC(_ubd.cookie,"__utma="+_udh,";");
 if ((i=a.indexOf(".",0))&lt;0) return;
 if ((i2=a.indexOf(".",i+1))&gt;0) r=a.substring(i+1,i2); else return ""; 
 if ((i=a.indexOf(".",i2+1))&gt;0) t=a.substring(i2+1,i); else return ""; 
 if (f) {
  return r;
 } else {
  var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
  return c[r&gt;&gt;28&amp;m]+c[r&gt;&gt;23&amp;m]+c[r&gt;&gt;18&amp;m]+c[r&gt;&gt;13&amp;m]+"-"+c[r&gt;&gt;8&amp;m]+c[r&gt;&gt;3&amp;m]+c[((r&amp;7)&lt;&lt;2)+(t&gt;&gt;30&amp;3)]+c[t&gt;&gt;25&amp;m]+c[t&gt;&gt;20&amp;m]+"-"+c[t&gt;&gt;15&amp;m]+c[t&gt;&gt;10&amp;m]+c[t&gt;&gt;5&amp;m]+c[t&amp;m];
 }
}

//判断字符串是否完全由数字组成，包含“.”
function _uIN(n) {
 if (!n) return false;
 for (var i=0;i&lt;n.length;i++) {
  var c=n.charAt(i);
  if ((c&lt;"0" || c&gt;"9") &amp;&amp; (c!=".")) return false;
 }
 return true;
}

//特殊字符替换
function _UEE(s) {
  var r = '',i,c,e;
  if (!s || s=="") return "";
  for (i = 0; i &lt; s.length; i++) {
    c = s.charAt(i);
    e = _ecm[c];
    r += (undefined != e) ? e : c;
  }
  return r;
}

//URI编码
function _uES(s,u) {
 if (typeof(encodeURIComponent) == 'function') {
  if (u) return encodeURI(s);
  else return encodeURIComponent(s);
 } else {
  return escape(s);
 }
}

//URI解码
function _uUES(s) {
 if (typeof(decodeURIComponent) == 'function') {
  return decodeURIComponent(s);
 } else {
  return unescape(s);
 }
}

//判断是否设置cookie域名变量，并判断值是否包含google.org，若不包含，返回false
function _uVG() {
 if((_udn.indexOf("<a href="http://www.google">www.google</a>.") == 0 || _udn.indexOf(".google.") == 0 || _udn.indexOf("google.") == 0) &amp;&amp; _utcp=='/' &amp;&amp; _udn.indexOf("google.org")==-1) {
  return false;
 }
 return true;
}

//控制采样数据的比例
function _uSP() {
 var s=100;
 if (_usample) s=_usample;
 if(s&gt;=100 || s&lt;=0) return true;
 return ((__utmVisitorCode(1)%10000)&lt;(s*100));
}

//设定虚拟URL
function urchinPathCopy(p){
 var d=document,nx,tx,sx,i,c,cs,t,h,o;
 cs=new Array("a","b","c","v","x","z");
 h=_uDomain(); if (_udn &amp;&amp; _udn!="") o=" domain="+_udn+";";
 nx=_uNx()+";";
 tx=new Date(); tx.setTime(tx.getTime()+(_utimeout*1000));
 tx=tx.toGMTString()+";";
 sx=new Date(); sx.setTime(sx.getTime()+(_ucto*1000));
 sx=sx.toGMTString()+";";
 for (i=0;i&lt;6;i++){
  t=" expires=";
  if (i==1) t+=tx; else if (i==2) t=""; else if (i==5) t+=sx; else t+=nx;
  c=_uGC(d.cookie,"__utm"+cs[i]+"="+h,";");
  if (c!="-") d.cookie="__utm"+cs[i]+"="+c+"; path="+p+";"+t+o;
 }
}

//页面加载后调用，获取授权，创建授权
function _uCO() {
 if (!_utk || _utk=="" || _utk.length&lt;10) return;
 var d='www.google.com';
 if (_utk.charAt(0)=='!') d='analytics.corp.google.com';
 _ubd.cookie="GASO="+_utk+"; path="+_utcp+";"+_udo;
 var sc=document.createElement('script');
 sc.type='text/javascript';
 sc.id="_gasojs";
 sc.src='https://'+d+'/analytics/reporting/overlay_js?gaso='+_utk+'&amp;'+Math.random();
 document.getElementsByTagName('head')[0].appendChild(sc); 
}

//判断URL中是否包含#gaso参数并获取值，URL中没有则从cookie中获取
function _uGT() {
 var h=location.hash, a;
 if (h &amp;&amp; h!="" &amp;&amp; h.indexOf("#gaso=")==0) {
  a=_uGC(h,"gaso=","&amp;");
 } else {
  a=_uGC(_ubd.cookie,"GASO=",";");
 }
 return a;
}

//首步执行
var _utk=_uGT();//获取授权令牌
if (_utk &amp;&amp; _utk!="" &amp;&amp; _utk.length&gt;10) {
 if (window.addEventListener) {
  window.addEventListener('load', _uCO, false); //火狐等浏览器添加事件监听
 } else if (window.attachEvent) {
  window.attachEvent('onload', _uCO);//IE浏览器添加事件监听
 }
}

//获取时间值【2年】返回格林威治标准时间
function _uNx() {
  return (new Date((new Date()).getTime()+63072000000)).toGMTString();
}</pre>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/get-search-engine-keywords.html' rel='bookmark' title='国内搜索引擎关键词的解析方法'>国内搜索引擎关键词的解析方法</a></li>
<li><a href='http://www.biaodianfu.com/dangdang-click-page-tracker.html' rel='bookmark' title='流量跟踪系统：当当网用户行为跟踪系统'>流量跟踪系统：当当网用户行为跟踪系统</a></li>
<li><a href='http://www.biaodianfu.com/flash-cookies.html' rel='bookmark' title='用户数据跟踪之Flash Cookies'>用户数据跟踪之Flash Cookies</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-analytics-urchin-module.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>基于PageRank算法的搜索引擎优化策略</title>
		<link>http://www.biaodianfu.com/optimizing-strategies-for-search-engines-based-on-pagerank-algorithm.html</link>
		<comments>http://www.biaodianfu.com/optimizing-strategies-for-search-engines-based-on-pagerank-algorithm.html#comments</comments>
		<pubDate>Mon, 30 May 2011 13:23:09 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PageRank]]></category>
		<category><![CDATA[链接]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3769</guid>
		<description><![CDATA[在介绍Google等搜索引擎最常用的PageRank搜索结果排名算法的基础上,详细阐述了各种网页链接结构对基于PageRank算法的网站搜索引擎排名结果可能产生的影响,并分析了实际应用中网站针对PageRank算法的各种优化策略,讨论了各自的优点。]]></description>
			<content:encoded><![CDATA[<p>　最近几年来, Google已经成为世界范围内使用最为广泛的搜索引擎之一。Google的优点不仅仅在于去除无用的(广告)标语构成单一页面的功能、独自的Cache 系统、动态制成摘要信息、为实现高速检索而设置的分散系统(数千台规模的L inux群集器)等[ ,而最大的优点正是其检索结果的正确性,与其他搜索引擎相比更优的搜索结果排名,有利于用户尽可能快地找到所需的信息。而研究目前国内互联网网站,可以发现我们在处理网页间的链接结构时,往往存在很大的随意性。殊不知网页间的链接结构正是决定网站在搜索结果中排名的重要因素之一。这种搜索结果排名技术建立在一种针对Web文档的复杂算法上,称之为PageRank算法。</p>
<p>本文的目的是在对PageRank算法分析的基础上,分析各类网络链接结构对搜索结果( PageRank值)的影响,以及由此产生的搜索引擎优化策略。</p>
<p><strong>1　PageRank算法</strong></p>
<p>简单的说, PageRank是代表互联网上某个页面重要性的一个数值。</p>
<p>一般搜索引擎将PageRank值与网页搜索结果相似度共同作为搜索结果的排序依据。就像后边即将阐述的一样,检索语句不会呈现在PageRank 自己的计算式上。不管得到多少检索语句, PageRank也是一定的、文件固有的评分量,该值仅仅依赖于网络的链接结构。</p>
<p>PageRank算法的具体思路是,将某个页面的PageRank除以存在于这个页面的正向链接,由此得到的值分别和正向链接所指向的页面的PageRank相加,即得到了被链接的页面的PageRank。算法基于“从许多优质的网页链接过来的网页,必定还是优质网页”的回归关系,来判定所有网页的重要性。一个网页的得票越多,则认为它的重要性也就越高。进一步说,投票网页的重要性也决定着票本身的重要程度。</p>
<p>计算某个网页PageRank值时所有的入链接都要考虑在内,页面A的PageRank值计算公式如下:</p>
<p>PR (A ) = (1 - d) + d ( PR ( t1) /C ( t1)+ ⋯ + PR ( tn) /C ( tn) )</p>
<p>公式中的PR代表页面的PageRank数值, t1 ～ tn 代表有链接指向页面A的网页, C是网页出链接的数量, d是阻尼系数(常数, Google通常取值0. 85) 。由于用户在互联网浏览时可能不按当前页面中的链接前进, 而随机跳跃到完全无关页面,所以d实际上代表的是用户跟随网页链接浏览,而不产生随机跳跃的概率值。</p>
<p>(1)式是在计算网页PageRank值的最初公式。由于至今Google都没有对外公布它所采用的算法,所以可能Google在使用时采取了该公式的一些变形。但这也几乎不影响下面的分析。</p>
<p>由(1)式可知,计算某个网页的PageRank值总是依赖于其他的相关页面,所以计算PageRank值实际上是一个迭代的过程,计算结果的精确程度依赖于初值的选取和迭代的次数。对于初值一般取1,而为了保证实际应用中这个结果总是收敛的,则加入了阻尼系数d 。</p>
<p>另外需要说明的是PR值与PageRank值的区别。安装了Google工具栏的用户也许看到工具栏上的PageRank显示条,这个工具可以即时地反映出浏览器当前访问的网页在Google中的PageRank值的标记,该值在0至10范围内变化。之所以称之为“标记”是因为它并非网页的真实PageRank值,而是真实值的一个对数指标,对数基应该是5～6范围内的某个数值。</p>
<p>网页对它的所有出链接的页面进行PageRank“投票”。由于随机跳转的可能性,投出的PageRank总值比网页本身的PageRank值稍小(本身值3 d ) 。这个值在所有出链接中平均分配。因而指向你的网页的页面的PageRank值固然重要,但该页面的出链接数量也同样不可忽略:出链接越多,你的网页得到的PageRank值就越少。另外由于PR 值是PageRank真实值的对数指标,这意味着一个网页从某个较高的PR值得到提升要比从较低的PR值上升过来需要更多的PageRank值。在这种情况下,一个较多出度的PR8网页和另一个只有较少出链接的PR4页面相比,哪个更有效些? 这可能依赖于PR值的对数基和具体的链接情况了。</p>
<p>需要注意的是当一个网页以“投票“方式影响其他页面的PageRank值时, 不会减少自身的PageRank 值。这并非PageRank的转移过程。</p>
<p><strong>2　基于PageRank的优化策略</strong></p>
<p>假设我们有一个网站,很显然将网站的PageRank平均分配到各个网页(如果可能的话)是非常不明智的,因为我们不可能、也没有必要使网站的所有网页搜索排名都做到很高。如果能将网站的大部分PageRank值以某种方式导向其中的一个或少数网页,使得它(们)的排名大大提高,其效果当然要好于平均分配的结果。所以下边讨论的重点不在单个网页的权值,而是考虑整个网站或者说网站中的重要页面的PageRank值,这些页面可能是索引页、中心页或是专门为某些搜索术语优化的页面。</p>
<p><strong>2. 1　考虑内部链接的影响</strong></p>
<p>网站PageRank值即为网站内部所有页面PageRank值的和。一个网站的PageRank最大值等于它的页面数量。入站链接可以增加这个最大值,而出站链接则能减少之。网站内部链接组织不好,网站可能会达不到最大的PageRank值,但是却不可能超过该值。需要注意,虽然增加页面可以增加网站的PageRank值,但不是随便增加什么页面都能达到效果。那些完全相同或几乎相同的页面称为cookie2cutter, Google认为是垃圾信息并会引发相应的警报机制使得页面甚至是整个网站受到处罚。所以从根本上来说网页要有一定的质量。</p>
<p>下面分析一下网站内部链接如何影响PageRank值。在这里我们考虑的是一个相对独立的网站,入站链接和出站链接的影响暂不考虑在内。</p>
<p><img class="alignnone size-full wp-image-3770" title="pagerank" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/pagerank.png" alt="" width="489" height="164" /></p>
<p>假设一个包含三个网页的网站,没有外部链接(图1) 。在( a) , ( b) , ( c)的情况下,我们为每个网页分配初值1,阻尼系数保持与Google一致(0. 85) ,经过迭代收敛后,得到三种情况的PageRank值如下:</p>
<ul>
<li>( a ) : PageRank A = 0. 15, PageRank B = 0. 15, PageRank C = 0. 15;</li>
<li>( b ) : PageRank A = 0. 15, PageRank B = 0. 277 5, PageRank C = 0. 15;</li>
<li>( c ) : PageRank A = 1, PageRank B = 1, PageRank C = 1;</li>
</ul>
<p>网站( a ) 的PageRank 值为0. 45, 严重浪费了潜在的PageRank值。( b)的情况稍好一些,总值0. 577 5比上一个例子有所增加,但仍然只是最大值的一小部分(对于该结构存在的摇摆页情况,在这里不作讨论) 。在( c)的链接结构下,网站达到了PageRank最大值,也可以通过环形结果获得: A到B,B到C, C再到A。同样的情况也可以将页面增加到3个以上。</p>
<p>可见链接的不好,完全可能浪费潜在的PageRank值。根据试验的规律,得出针对内部链接结构的第一个优化策略:一般来说,环形链接或者任意两个页面都有相互链接时能达到网站PageRank大值。</p>
<p><img class="alignnone size-full wp-image-3771" title="index-pagerank" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/index-pagerank.png" alt="" width="423" height="227" /></p>
<p>假设把A作为索引页,有( a) , ( b)两种链接结构,省略计算过程后迭代结果如下:</p>
<p>( a) : Page A = 1. 459 459, Page B = 0. 770 270 3, Page C =0. 770 270 3;</p>
<p>( b) : Page A = 1. 298 245, Page B = 0. 999 999 9, Page C =0. 701 754 3;</p>
<p>两种结构的总值仍然是3 (最大值) ,所以没有浪费。但( b)的情况下,A明显损失了PageRank,页面C也损失了一部分PageRank,因为A、B分享方式替代了A独享,A通过A→C链接反馈回C的值也就减小。</p>
<p>所以得出第二条优化策略: 为了获得索引页的最大PageRank值,其他页面应该尽可能减少相互链接。如果某个页面链接到的页面有回路链接,那么在这个页面上增加一个新的出链接会导致间接损失一部分的PageRank值。如果没有这样的回路,则不会减少PageRank值。这在内部链接中并不十分重要,但对发生到网站外的链接时就不一样了。可见,通过组织内部链接,可以将网站的PageRank值导向某个选定的页面。内部链接可以根据网站的PageRank需要来组织,但必须是Google认可的页面。</p>
<p><strong>2. 2　入站链接和出站链接</strong></p>
<p>入站链接(由网站外部进入的链接) 是增加网站PageRank值的方式之一。入站链接来自何处并不重要,Google认为只要网站管理员没有对链入网站的其他网站产生控制,就不会因为这种链接做出处罚。</p>
<p>链接页的PageRank值很重要,但同时出链接的数量也相当关键。例如:如果是一个PageRank值为2的网页的唯一出链接,将得到0. 15 + 0. 85 (2 /1) = 1. 85的值;而一个100个出链接的PageRank 8 网页,得到的是0. 15 + 0. 85 (7 /100) =0. 209 5。很明显, PR2链接更有效。一旦有PageRank值注入到网站中,计算将需要重新进行。某些页面的值增加,某些保持不变,这依赖于内部链接结构,但肯定不会有页面会损失PageRank值。</p>
<p>入站链接指向你试图导向的重要页面更有好处,如果PageRank注入到其他页,则会因为内部链接分散到网站中。索引页也会得到提升,但不如直接链接提升得多。直接得到入站链接的页面得到的值最大。</p>
<p>第三条优化策略:将网站索引页作为引入入站链接的最佳目标。</p>
<p>出站链接会导致网站PageRank值的消耗。为了抵消这种消耗,需要确保链接是互给的。互惠链接可能得到也可能损失PageRank值,所以交换链接时需要特别小心。</p>
<p>当PageRank值随着指向另一个网站的链接而引出时,内部链接的所有页面都将受到影响。虽然具体的PageRank值变化情况依赖于链接结构,但一般来说给出链接的网页往往是损失PageRank值最大的,因此得出第四条优化策略:出站链接放在PageRank较低的页面,造成的PageRank损失较小。</p>
<p>任何一个网站都几乎不可能没有出站链接,但不巧的是,所有的“正常”链接都会泄漏PageRank值。但还有些“特别”的链接方式不用泄漏。PageRank泄漏与否依赖于Google能否识别出链接,这样可以使用Google不能识别或是不考虑的链接,包括表单处理(form action)和包含JavaScript代码的链接。</p>
<p>表单的action属性不一定是处理表单脚本的url,它可以指向任何网站的任何一个页面。例子:&lt; form name = "myform" action ="http: / / cs. scu. edu. cn / somepage. html" &gt;&lt; a href = " javascrip t: document. myform. submit () " &gt;四川大学计算机学院&lt; / a &gt;</p>
<p>此外, action 属性甚至可以不必位于form 表单而在JavaScrip t代码中,而JavaScrip t代码可以位于存储路径的js目录下,而该目录一般Google的sp ider程序都不访问。</p>
<p><strong>3　总结及PageRank改进</strong></p>
<p>PageRank值由网络链接结构决定,与具体的检索内容无关,因而检索期间消耗很小,优于早期的H ITS算法。在不考虑网页内容具体需要的情况下,提出的优化策略有利于提高网站在基于PageRank算法排名的搜索引擎搜索结果中的排名。这种效应也许短时间内尚不明显,但随着页面的增加和网站间链接的逐渐增多,最终的效果还是可观的。</p>
<p>同时,由于PageRank算法的检索无关性,也可能导致一些不利的结果,例如对一些词汇在特定的上下文中有特定的含义,或是一些专业词汇,仅仅依靠PageRank排名的结果可能不太令人满意,比如同样是查找“结构”这个词,在建筑学的上下文中,和芯片制造的上下文中,用户希望得到的检索结果必然不尽相同。但由于PageRank是网页的固定属性,可能就达不到期望的效果了。如果将整个互联网看成一个维度,那么PageRank则是该维度上的一个矢量,针对以上的缺陷,可以考虑建立这类矢量的一个矢量集。换句话说,可以针对某些指定的主题词计算出多个PageRank值,然后根据检索内容匹配相应主题词的网页PageRank值[ 4 ]。当然,在结果排序时用到的PageRank值仍然是唯一的。这种改进在检索期间的消耗上有所增加,但在结果排序上却有大大提高。</p>
<p>参考文献:<br />
[1 ]　BR IN S, PAGE L. The anatomy of a large2scale hypertextual websearch engine[A ]. Proceedings of the Seventh International World WideWeb Conference[C ], 1998.<br />
[2 ]　BABA H, 馬場肇. Google の秘密- PageRank 底解説[ EB /OL ]. http: / /www. kusastro. kyoto2u. ac. jp /～ baba /wais/pagerank. html, 2003.<br />
[3 ]　JEH G, W IDOM J. Scaling personalized web search [R ]. StanfordUniversity, 2002.<br />
[4 ]　HAVEL IWALA TH. Top ic2Sensitive PageRank[A ]. Proceedings ofthe Eleventh InternationalWorldWideWeb Conference[C ], 2002.</p>
<p><strong>本文作者：张　巍,李志蜀 （四川大学计算机学院,四川成都610065）</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-pr.html' rel='bookmark' title='Google PR值是什么'>Google PR值是什么</a></li>
<li><a href='http://www.biaodianfu.com/link-consolidation.html' rel='bookmark' title='塑造PR的方法之链接整合'>塑造PR的方法之链接整合</a></li>
<li><a href='http://www.biaodianfu.com/toolbar.html' rel='bookmark' title='搜索引擎工具栏到底有什么用'>搜索引擎工具栏到底有什么用</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/optimizing-strategies-for-search-engines-based-on-pagerank-algorithm.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>谷歌用户体验设计准则</title>
		<link>http://www.biaodianfu.com/google-user-experience.html</link>
		<comments>http://www.biaodianfu.com/google-user-experience.html#comments</comments>
		<pubDate>Mon, 11 Apr 2011 14:06:54 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[用户体验]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3587</guid>
		<description><![CDATA[ 谷歌的愿景   Googl用户体验团队致力于创建有用的（useful）、快速的（fast）、简单的（simple）、有吸引力的（engaging）、创新的（ innovative）、适合大众的（universal）、有用的（profitable）、漂亮的（beautiful）、值得信赖的（trustworthy）、个性化的（personable）的应用。 Google用户体验的十大准则 1.将焦点集中在用户的生活，工作，和他们的梦想上。 Google 用户体验小组努力发现用户的真正需求，包括那些他们自己都无法阐明的需求。有了这些信息，Google 就可以创建解决现实问题的产品并激发所有人的创造力。Google的目标不仅仅是按部就班的工作，而是改善人们的生活。总之，一个精心设计的 Google 产品在日常生活中是非常有用的。他并不是靠花哨的视觉效果和技术打动用户的，虽然也有具备这些特性。他不会强迫用户去使用他们不想要的特性，但是他会引导有兴趣的用户自发的去使用他们。他不会入侵别人的生活，但是回想那些想要探索世界信息、工作的更加快速和便捷、分享想法的用户敞开大门。 2.每一毫秒的价值 没有什么比用户的时间更加宝贵。Google页面的快速加载得力于精简的代码和精心挑选的图片。为了让用户更加容易的找到想要的内容，Google将最重要的功能和文本放在最显眼的位置。一些不必要的点击、输入、步骤和其他操作都被Google去除了。Google 的产品只会请求一次信息并且包含了智能的默认选项。所有任务都是高效的。速度为用户带来便利。如果没有充足的理由，Google 绝对不会牺牲速度。 3.简单就是力量 简单造就了良好设计中的许多元素，包括易用性、速度、视觉效果和可访问性。一个产品从设计之初就应该保持简单。Google 不打算创建功能繁复的产品，我们最好的设计只包含那些用户完成目标过程中所必需的功能。即使产品需要大量的特性和复杂的视觉设计，也要看起来简单而强大。在以牺牲简单为代价去追求一个不太重要的功能之前，Google 会三思而后行。Google希望将产品推向新的发展方向，而不仅仅是增加更多功能。 4.引导新手和吸引专家 为多数人设计并不意味着为降低标准设计。最好的 Google 设计表面上看起来很简单，但是却包含了强大的功能，可以让需要的用户很容易地访问到。Google的目标是为新用户提供美妙的初始体验，同时也吸引那些经验丰富的用户，他们会让其他人也来使用这个产品。一个精心设计的 Google 产品会让新用户很快熟悉，在必要的时候提供帮助，并且保证用户可以通过简单符合直觉的操作使用产品的大多数有价值的功能。逐步披露高级功能会鼓励用户去扩展他们对产品的使用。在适当情况下，Google 会适时地提供一些智能功能来吸引那些资深网络用户——那些在多个设备和电脑之间共享数据的人、在线上和线下工作的人、以及需要存储空间的人。 5.敢于创新 设计上的一致性是 Google 产品获得信任的基石，它令用户舒适并提高他们的工作效率。但是要想把设计从沉闷乏味变得令人愉快就要依靠想象力。Google 鼓励那些创新、冒险的设计，只要它们符合用户需求。团队鼓励新的想法并发展它们。不是为了去适应现有的产品功能，Google 更着眼于改变整个游戏规则。 6.为全世界设计 万维网已经向世界各地的人们开放了互联网上的所有资源。例如，很多用户通过移动设备来使用 Google 的产品，而不是坐在桌子前面通过电脑。我们设计出的产品应该在用户随意选择的任何一种媒介上都可以适时调整和使用。在可能的情况下，Google 会适时地支持较慢的连接速度和旧版的浏览器，而且 Google 会允许用户选择如何浏览信息（屏幕大小，字体大小）和如何输入信息（智能查询分析）。用户体验团队会研究世界上用户体验的根本差异，为每一个用户、每一个设备和每一种文化设计出合适的产品。简单的翻译，或者功能上的“优雅降级”，都不足以满足人们的需要。Google 还致力于改善产品的可访问性。Google对简单和具有包容性产品的渴望，以及Google 让全世界的信息普遍可访问的使命，都要求产品支持辅助技术，向包括有身体和认知缺陷在内的所有用户提供愉悦的体验。 7.安排今天和明天的业务 那些盈利的 Google 产品竭力做到以有助于用户的方式赚钱。为了实现这一崇高目标，设计师将和产品团队一起确保商业计划能够和用户的目标无缝集成。他们会确保广告具有相关性、有用并可以明确地识别出是广告。 Google 也会注意保护那些广告客户和其它靠 Google 谋生的人的利益。如果靠某个产品增加收入会减少 Google 未来的用户数量，那么 Google 绝对不会做这种尝试。如果一个有利可图的设计没有让用户满意，它就会被打回重做。不是每个产品都需要盈利，但是不能有产品对业务不利。 8. 愉悦用户的眼睛，但不分散注意力。 如果人们看到一个 [...]]]></description>
			<content:encoded><![CDATA[<p><strong> 谷歌的愿景</strong></p>
<p>  Googl用户体验团队致力于创建有用的（useful）、快速的（fast）、简单的（simple）、有吸引力的（engaging）、创新的（ innovative）、适合大众的（universal）、有用的（profitable）、漂亮的（beautiful）、值得信赖的（trustworthy）、个性化的（personable）的应用。</p>
<p><strong>Google用户体验的十大准则</strong></p>
<p><strong>1.将焦点集中在用户的生活，工作，和他们的梦想上。</strong></p>
<p>Google 用户体验小组努力发现用户的真正需求，包括那些他们自己都无法阐明的需求。有了这些信息，Google 就可以创建解决现实问题的产品并激发所有人的创造力。Google的目标不仅仅是按部就班的工作，而是改善人们的生活。总之，一个精心设计的 Google 产品在日常生活中是非常有用的。他并不是靠花哨的视觉效果和技术打动用户的，虽然也有具备这些特性。他不会强迫用户去使用他们不想要的特性，但是他会引导有兴趣的用户自发的去使用他们。他不会入侵别人的生活，但是回想那些想要探索世界信息、工作的更加快速和便捷、分享想法的用户敞开大门。</p>
<p><strong>2.每一毫秒的价值</strong></p>
<p>没有什么比用户的时间更加宝贵。Google页面的快速加载得力于精简的代码和精心挑选的图片。为了让用户更加容易的找到想要的内容，Google将最重要的功能和文本放在最显眼的位置。一些不必要的点击、输入、步骤和其他操作都被Google去除了。Google 的产品只会请求一次信息并且包含了智能的默认选项。所有任务都是高效的。速度为用户带来便利。如果没有充足的理由，Google 绝对不会牺牲速度。</p>
<p><strong>3.简单就是力量</strong></p>
<p>简单造就了良好设计中的许多元素，包括易用性、速度、视觉效果和可访问性。一个产品从设计之初就应该保持简单。Google 不打算创建功能繁复的产品，我们最好的设计只包含那些用户完成目标过程中所必需的功能。即使产品需要大量的特性和复杂的视觉设计，也要看起来简单而强大。在以牺牲简单为代价去追求一个不太重要的功能之前，Google 会三思而后行。Google希望将产品推向新的发展方向，而不仅仅是增加更多功能。</p>
<p><strong>4.引导新手和吸引专家</strong></p>
<p>为多数人设计并不意味着为降低标准设计。最好的 Google 设计表面上看起来很简单，但是却包含了强大的功能，可以让需要的用户很容易地访问到。Google的目标是为新用户提供美妙的初始体验，同时也吸引那些经验丰富的用户，他们会让其他人也来使用这个产品。一个精心设计的 Google 产品会让新用户很快熟悉，在必要的时候提供帮助，并且保证用户可以通过简单符合直觉的操作使用产品的大多数有价值的功能。逐步披露高级功能会鼓励用户去扩展他们对产品的使用。在适当情况下，Google 会适时地提供一些智能功能来吸引那些资深网络用户——那些在多个设备和电脑之间共享数据的人、在线上和线下工作的人、以及需要存储空间的人。</p>
<p><strong>5.敢于创新</strong></p>
<p>设计上的一致性是 Google 产品获得信任的基石，它令用户舒适并提高他们的工作效率。但是要想把设计从沉闷乏味变得令人愉快就要依靠想象力。Google 鼓励那些创新、冒险的设计，只要它们符合用户需求。团队鼓励新的想法并发展它们。不是为了去适应现有的产品功能，Google 更着眼于改变整个游戏规则。</p>
<p><strong>6.为全世界设计</strong></p>
<p>万维网已经向世界各地的人们开放了互联网上的所有资源。例如，很多用户通过移动设备来使用 Google 的产品，而不是坐在桌子前面通过电脑。我们设计出的产品应该在用户随意选择的任何一种媒介上都可以适时调整和使用。在可能的情况下，Google 会适时地支持较慢的连接速度和旧版的浏览器，而且 Google 会允许用户选择如何浏览信息（屏幕大小，字体大小）和如何输入信息（智能查询分析）。用户体验团队会研究世界上用户体验的根本差异，为每一个用户、每一个设备和每一种文化设计出合适的产品。简单的翻译，或者功能上的“优雅降级”，都不足以满足人们的需要。Google 还致力于改善产品的可访问性。Google对简单和具有包容性产品的渴望，以及Google 让全世界的信息普遍可访问的使命，都要求产品支持辅助技术，向包括有身体和认知缺陷在内的所有用户提供愉悦的体验。</p>
<p><strong>7.安排今天和明天的业务</strong></p>
<p>那些盈利的 Google 产品竭力做到以有助于用户的方式赚钱。为了实现这一崇高目标，设计师将和产品团队一起确保商业计划能够和用户的目标无缝集成。他们会确保广告具有相关性、有用并可以明确地识别出是广告。 Google 也会注意保护那些广告客户和其它靠 Google 谋生的人的利益。如果靠某个产品增加收入会减少 Google 未来的用户数量，那么 Google 绝对不会做这种尝试。如果一个有利可图的设计没有让用户满意，它就会被打回重做。不是每个产品都需要盈利，但是不能有产品对业务不利。</p>
<p><strong>8. 愉悦用户的眼睛，但不分散注意力。</strong></p>
<p>如果人们看到一个 Google 的产品时说“哇，真漂亮！”，用户体验团队就可以欢呼了。一个积极的第一印象会让用户觉得舒服，使他们确信这个产品是可靠和专业的，并且会鼓励用户做出自己的产品。简约美学对于大部分的 Google 产品都是适用的，因为一个干净、清爽、加载迅速，而且不会分散用户的注意力的设计一定符合用户需求的。吸引人的图像、颜色和字体需要与速度、可扫描文本和简易导航取得平衡。尽管如此，考虑到用户和文化背景的因素，“简单优雅”并不是对所有产品来说都是最合适的。Google 产品的视觉设计会让用户感到满意并且有助于使用。</p>
<p><strong>9. 值得信任。</strong></p>
<p>好的设计可以深深赢得使用 Google 产品的用户的信任。Google 可靠性的建立是从基础就开始的，例如，界面确保高效和专业、动作容易撤销、广告被明确识别、术语的一致性以及令用户惊喜而非惊诧。此外，Google 的产品是向全世界开放的，它包含指向竞争对手的链接并且鼓励用户做出贡献，如社区地图或者 iGoogle 小工具。一个更大的挑战是确保 Google 对用户控制自己数据的权利表示了尊重。在如何使用信息和信息如何共享给他人（如果有的话）方面，Google 是透明的，所以用户可以做出知情的选择。我们的产品在有危险的时候会警告用户，比如不安全的链接，使用户容易受到垃圾邮件骚扰的行为，或者将数据分享在 Google 之外的其它地方而被存储的可能性。Google 越大，遵循“不作恶”的座右铭就越重要。</p>
<p><strong>10. 有人情味。</strong></p>
<p>Google 包括了各种各样的人格特质，而Google的设计也是有人性的。文本和设计元素都是友好、机灵并且智能的，而不是枯燥、古板或傲慢的。Google 的文本直接和用户对话，并提供实际、非正式的协助，就像任何一个人回答邻居所提出的问题一样。而且 Google 不会让有趣或个性干扰到设计的其它元素，尤其是当人们被生活或找到重要信息的能力严重困扰的时候。</p>
<p>Google 并不是什么都懂，而且没有设计是完美的。Google的产品希望得到反馈，Google 会根据这些反馈采取行动。当实践这些设计准则的时候，Google 用户体验团队会在每个产品的可用时间里寻找最佳的平衡。然后，迭代、创新和改善会循环往复。</p>
<p><em>原文链接（E文）：<a href="http://www.google.com/corporate/ux.html">http://www.google.com/corporate/ux.html</a></em></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-wrong.html' rel='bookmark' title='Google也是会犯错的'>Google也是会犯错的</a></li>
<li><a href='http://www.biaodianfu.com/google-ten-things.html' rel='bookmark' title='来自Google的10条价值观'>来自Google的10条价值观</a></li>
<li><a href='http://www.biaodianfu.com/google-index-dababase.html' rel='bookmark' title='Google索引库到底有多大的猜想'>Google索引库到底有多大的猜想</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-user-experience.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>怎样抓取Google的搜索结果页</title>
		<link>http://www.biaodianfu.com/scraping-google-serp.html</link>
		<comments>http://www.biaodianfu.com/scraping-google-serp.html#comments</comments>
		<pubDate>Mon, 06 Sep 2010 15:22:20 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=2681</guid>
		<description><![CDATA[Google搜索结果页（SERP）的抓取，对SEO从业人员等都有很大的帮助，通过抓取SERP我们可以监测网站的排名情况、PPC广告的情况、链接流行度等数据。 Google作为最大的搜索引擎，有着最大的抓取程序Googlebot，但是他却禁止其他网站抓取他的页面。Google使用了大量的技术来检测和阻止自动请求。一旦Google检测到自动抓取程序，那么会出现以下几种情况： 提示电脑中了病毒或木马； 提示木马程序，并要求输入验证码； Google会在一段时间内阻止您的IP访问； Google阻止您访问的时间会加长。 Google是怎么检测抓取程序的？可能的方法有： 通过IP 地址，IP地址可以作为用户的唯一标识。 关键词的变化，普通用户不会再极短的时间内查询很多关键词。 抓取频率，每次抓取的频率都要在Google限定的范围内。 隐藏抓取迹象，避免被Google屏蔽。 首先需要的是一个可靠地IP代理列表，代理地址需要每有被Google屏蔽掉。最好准备50-150个代理地址，一旦Google发自动抓取，千万别继续去抓取。 保证更换代理IP以后，你的Cookies也随着变化。 通过在URL中添加&#38;num=100，将搜索结果的暂时数量设置为最大（100）。 不要使用多线程去抓取。 Google对每个关键词，仅提供1000个查询结果。 在适当的时间更换您的代理IP，这是抓取成功的关键。如果你要住区每个关键词300-1000条结果，需要给每个关键词更换一个IP；如果查询的结果小于300个，最好在查询过程中uoxia延迟炒作，延迟10-20秒或真假代理数量。 如果返回的是一个验证码页面，你最好马上停止现在的行为。 下面是一个使用PHP写的抓取Google搜索结果页的代码。代码中主要包括有： 自动代理轮换（使用seo-proxies.com的API），如果你拥有自己的代理IP地址表，可以通过修改代码改变它。如果你有seo-proxies.com的license，可以通过修改scaper.php中的”USERID”和”API-PASSWORD”来匹配license。 自动从一个搜索结果页爬去其他搜索结果页。 使用联想词来增加搜索结果的数量。 自动发现和移除广告。 将抓取数据已数组方式保存，使用HTML方式或其他格式在前台页面呈现。 你唯一要做的是把抓取的结果储存在数据表中，进行管理。 代码下载：http://www.box.net/shared/mz1d48hg1c Related posts: 获取客户端真实IP方法 JSON 轻量级的数据交换格式 WordPress 2.7 数据字典]]></description>
			<content:encoded><![CDATA[<p>Google搜索结果页（SERP）的抓取，对SEO从业人员等都有很大的帮助，通过抓取SERP我们可以监测网站的排名情况、PPC广告的情况、链接流行度等数据。</p>
<p>Google作为最大的搜索引擎，有着最大的抓取程序Googlebot，但是他却禁止其他网站抓取他的页面。Google使用了大量的技术来检测和阻止自动请求。一旦Google检测到自动抓取程序，那么会出现以下几种情况：</p>
<ol>
<li>提示电脑中了病毒或木马；</li>
<li>提示木马程序，并要求输入验证码；</li>
<li>Google会在一段时间内阻止您的IP访问；</li>
<li>Google阻止您访问的时间会加长。</li>
</ol>
<p>Google是怎么检测抓取程序的？可能的方法有：</p>
<ul>
<li>通过IP 地址，IP地址可以作为用户的唯一标识。</li>
<li>关键词的变化，普通用户不会再极短的时间内查询很多关键词。</li>
<li>抓取频率，每次抓取的频率都要在Google限定的范围内。</li>
</ul>
<p>隐藏抓取迹象，避免被Google屏蔽。</p>
<ol>
<li>首先需要的是一个可靠地IP代理列表，代理地址需要每有被Google屏蔽掉。最好准备50-150个代理地址，一旦Google发自动抓取，千万别继续去抓取。</li>
<li>保证更换代理IP以后，你的Cookies也随着变化。</li>
<li>通过在URL中添加&amp;num=100，将搜索结果的暂时数量设置为最大（100）。</li>
<li>不要使用多线程去抓取。</li>
<li>Google对每个关键词，仅提供1000个查询结果。</li>
<li>在适当的时间更换您的代理IP，这是抓取成功的关键。如果你要住区每个关键词300-1000条结果，需要给每个关键词更换一个IP；如果查询的结果小于300个，最好在查询过程中uoxia延迟炒作，延迟10-20秒或真假代理数量。</li>
<li>如果返回的是一个验证码页面，你最好马上停止现在的行为。</li>
</ol>
<p>下面是一个使用PHP写的抓取Google搜索结果页的代码。代码中主要包括有：</p>
<ol>
<li>自动代理轮换（使用seo-proxies.com的API），如果你拥有自己的代理IP地址表，可以通过修改代码改变它。如果你有seo-proxies.com的license，可以通过修改scaper.php中的”USERID”和”API-PASSWORD”来匹配license。</li>
<li>自动从一个搜索结果页爬去其他搜索结果页。</li>
<li>使用联想词来增加搜索结果的数量。</li>
<li>自动发现和移除广告。</li>
<li>将抓取数据已数组方式保存，使用HTML方式或其他格式在前台页面呈现。</li>
</ol>
<p>你唯一要做的是把抓取的结果储存在数据表中，进行管理。</p>
<p>代码下载：<a href="http://www.box.net/shared/mz1d48hg1c">http://www.box.net/shared/mz1d48hg1c</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/ip-address.html' rel='bookmark' title='获取客户端真实IP方法'>获取客户端真实IP方法</a></li>
<li><a href='http://www.biaodianfu.com/json.html' rel='bookmark' title='JSON 轻量级的数据交换格式'>JSON 轻量级的数据交换格式</a></li>
<li><a href='http://www.biaodianfu.com/wordpress-datebase.html' rel='bookmark' title='WordPress 2.7 数据字典'>WordPress 2.7 数据字典</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/scraping-google-serp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Google Android SDK 来运行apk程序</title>
		<link>http://www.biaodianfu.com/google-android-sdk-install-apk.html</link>
		<comments>http://www.biaodianfu.com/google-android-sdk-install-apk.html#comments</comments>
		<pubDate>Sun, 29 Aug 2010 03:35:43 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[移动互联网]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=2623</guid>
		<description><![CDATA[前面写过一个使用Vmware 安装Android的教程。今天要介绍的是使用Google Android SDK 来运行Android，同事在Android里安装应用软件。 step1.Google Android SDK。 SDK下载地址：http://androidappdocs.appspot.com/index.html step2.在运行Google Android SDK之前，还需要做一个工作就是确保自己的电脑已经安装了Java运行环境，如果没有安装，请进入以下地址进行安装。 Java运行环境下载地址：http://www.java.com/zh_CN/ step3.将下载好的SDK解压到电脑里的任意一个目录（最好不要放在中文目录里），我的存放地址是：E:\android-sdk-windows step4.运行android-sdk-windows文件夹下的SDK Setup.exe，出现如下界面。 首先先点击 Cancel（取消），到达如下界面： 点击Settings（设置）进行前期的设置。 如果您访问网站需要代理服务器，则在此处设置代理服务器。进入设置页面主要做的就是把“Force https://&#8230;sources to be fetched using http://&#8230;”，因为在某些电脑上可能无法使用https进行连接。 接着点击Available Packages 进入如下界面。 选择你需要安装的SDK版本等，你页可以全选上。点击“Install Selected”，程序就会自动进行安装。 step5.安装完毕后就是创建虚拟系统了，点击“ Virtual Devices”出现如下界面： 点击“New&#8230;”创建新的设备。 为你的设备起个名称，选择需要的Android版本，设置SD卡尺寸和设置屏幕分辨率，最好使用默认的HVGA(320*480)，关于手机分辨率的疑问，请查看：各种手机分辨率详解。 所有的都设置完毕后，点击“Create AVD”即创建了设备（创建过程中可能需要等待几分钟），创建后程序会自动返回上一界面，选中你创建的AVD，单击“Start”即可启动设备。 启动过程中会弹出如下界面，根据自己的需要设置即可。 程序会由很长的一段时间停留在如下的界面中，请耐心的等待。 step6.安装应用软件。 安装应用软件的最简单方法是安装“91助手”或“豌豆夹”，但是并不是每台电脑都能成功。 91助手下载地址：http://soft.sj.91.com/ 豌豆夹下载地址：http://wandoujia.com/index.html 我们使用大众点评网的Android进行测试，下载其APK程序：http://android.dianping.com/m/ 如果91助手后豌豆夹能正确的找到设备和连接到设备，只需点击apk程序即可安装。 如果不成功，只能采取手动安装的方法： 首先把需要安装的软件放在 sdk目录的tools文件夹下，如本人的电脑放在E:\android-sdk-windows\tools 运行cmd，在cmd下进入tools目录： cd e:\android-sdk-windows\tools 回车 e: 回车 [...]]]></description>
			<content:encoded><![CDATA[<p>前面写过一个<a href="http://www.biaodianfu.com/windows-vmware-android.html">使用Vmware 安装Android的教程</a>。今天要介绍的是使用Google Android SDK 来运行Android，同事在Android里安装应用软件。</p>
<p><strong>step1.Google Android SDK。</strong></p>
<p>SDK下载地址：<a href="http://androidappdocs.appspot.com/index.html">http://androidappdocs.appspot.com/index.html</a></p>
<p><strong>step2.在运行Google Android SDK之前，还需要做一个工作就是确保自己的电脑已经安装了Java运行环境，如果没有安装，请进入以下地址进行安装。</strong></p>
<p>Java运行环境下载地址：<a href="http://www.java.com/zh_CN/">http://www.java.com/zh_CN/</a></p>
<p><strong>step3.将下载好的SDK解压到电脑里的任意一个目录（最好不要放在中文目录里），我的存放地址是：E:\android-sdk-windows</strong></p>
<p><strong>step4.运行android-sdk-windows文件夹下的SDK Setup.exe，出现如下界面。</strong></p>
<p><img class="alignnone size-full wp-image-2624" title="choose-packages-to-install" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/choose-packages-to-install.png" alt="" width="614" height="370" /></p>
<p>首先先点击 Cancel（取消），到达如下界面：</p>
<p><img class="alignnone size-full wp-image-2625" title="android-sdk-and-avd-manager" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/android-sdk-and-avd-manager.png" alt="" width="606" height="375" /></p>
<p>点击Settings（设置）进行前期的设置。</p>
<p><img class="alignnone size-full wp-image-2626" title="android-sdk-settings" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/android-sdk-settings.png" alt="" width="569" height="362" /></p>
<p>如果您访问网站需要代理服务器，则在此处设置代理服务器。进入设置页面主要做的就是把“Force https://&#8230;sources to be fetched using http://&#8230;”，因为在某些电脑上可能无法使用https进行连接。</p>
<p>接着点击Available Packages 进入如下界面。</p>
<p><img class="alignnone size-full wp-image-2627" title="install-android-sdk" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/install-android-sdk.png" alt="" width="606" height="375" /></p>
<p>选择你需要安装的SDK版本等，你页可以全选上。点击“Install Selected”，程序就会自动进行安装。</p>
<p><strong>step5.安装完毕后就是创建虚拟系统了，点击“ Virtual Devices”出现如下界面：</strong></p>
<p><img class="alignnone size-full wp-image-2628" title="virtual-devices" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/virtual-devices.png" alt="" width="616" height="394" /></p>
<p>点击“New&#8230;”创建新的设备。</p>
<p><img class="alignnone size-full wp-image-2629" title="create-new-android-virtual-device" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/create-new-android-virtual-device.png" alt="" width="400" height="502" /></p>
<p>为你的设备起个名称，选择需要的Android版本，设置SD卡尺寸和设置屏幕分辨率，最好使用默认的HVGA(320*480)，关于手机分辨率的疑问，请查看：<a href="http://www.biaodianfu.com/qvga-wvga-vga-wqvga-sqvga.html">各种手机分辨率详解</a>。</p>
<p>所有的都设置完毕后，点击“Create AVD”即创建了设备（创建过程中可能需要等待几分钟），创建后程序会自动返回上一界面，选中你创建的AVD，单击“Start”即可启动设备。</p>
<p>启动过程中会弹出如下界面，根据自己的需要设置即可。</p>
<p><img class="alignnone size-full wp-image-2630" title="launch-options" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/launch-options.png" alt="" width="260" height="273" /></p>
<p>程序会由很长的一段时间停留在如下的界面中，请耐心的等待。</p>
<p><a href="http://www.biaodianfu.com/wp-content/uploads/2010/08/nexus-one.png"><img class="alignnone size-full wp-image-2631" title="nexus-one" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/nexus-one.png" alt="" width="638" height="453" /></a></p>
<p><a href="http://www.biaodianfu.com/wp-content/uploads/2010/08/nexus-one-android.png"><img class="alignnone size-full wp-image-2632" title="nexus-one-android" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/nexus-one-android.png" alt="" width="638" height="453" /></a></p>
<p><a href="http://www.biaodianfu.com/wp-content/uploads/2010/08/my-nexus-one.png"><img class="alignnone size-full wp-image-2633" title="my-nexus-one" src="http://www.biaodianfu.com/wp-content/uploads/2010/08/my-nexus-one.png" alt="" width="638" height="453" /></a></p>
<p>step6.安装应用软件。</p>
<p>安装应用软件的最简单方法是安装“91助手”或“豌豆夹”，但是并不是每台电脑都能成功。</p>
<p>91助手下载地址：<a href="http://soft.sj.91.com/">http://soft.sj.91.com/</a></p>
<p>豌豆夹下载地址：<a href="http://wandoujia.com/index.html">http://wandoujia.com/index.html</a></p>
<p>我们使用大众点评网的Android进行测试，下载其APK程序：<a href="http://android.dianping.com/m/">http://android.dianping.com/m/</a></p>
<p>如果91助手后豌豆夹能正确的找到设备和连接到设备，只需点击apk程序即可安装。</p>
<p>如果不成功，只能采取手动安装的方法：</p>
<p>首先把需要安装的软件放在 sdk目录的tools文件夹下，如本人的电脑放在E:\android-sdk-windows\tools</p>
<p>运行cmd，在cmd下进入tools目录：</p>
<p>cd e:\android-sdk-windows\tools 回车</p>
<p>e: 回车</p>
<p>adb install xxxxx.apk 回车（xxxxx.apk为你要安装的文件）。</p>
<p>这样软件就顺利安装到android的设备里了。</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/liaotian-ruanjian.html' rel='bookmark' title='聊天软件合集'>聊天软件合集</a></li>
<li><a href='http://www.biaodianfu.com/google-analytics-data-export-api.html' rel='bookmark' title='Google Analytic 数据导出API接口'>Google Analytic 数据导出API接口</a></li>
<li><a href='http://www.biaodianfu.com/install-windows-8-with-vmware-8.html' rel='bookmark' title='使用VMware 8虚拟机来安装Windows 8方法'>使用VMware 8虚拟机来安装Windows 8方法</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-android-sdk-install-apk.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goo.gl PHP API</title>
		<link>http://www.biaodianfu.com/goo-gl-php-api.html</link>
		<comments>http://www.biaodianfu.com/goo-gl-php-api.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 04:58:14 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=2442</guid>
		<description><![CDATA[很有以前写过一篇Goo.gl的使用方法。里面介绍了一个C#写的Google 短网址服务的API。今天要介绍的是大众需求比较高的PHP版本~ &#60;?php /* API Google URL Shortner marcusnunes.com */ $url = $_GET['url'];                        //URL to short with goo.gl if(!$url){$url = 'http://twitter.com/';}    //example $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'http://goo.gl/api/url');   //goo.gl api url curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, 'user=toolbar@google.com&#38;url='.urlencode($url).'&#38;auth_token='.googlToken($url));     $saida = curl_exec($curl); curl_close($curl); if($saida){     $json = json_decode($saida);     echo 'URL encurtada: &#60;br [...]]]></description>
			<content:encoded><![CDATA[<p>很有以前写过一篇<a href="http://www.biaodianfu.com/goo-gl.html">Goo.gl的使用方法</a>。里面介绍了一个C#写的Google 短网址服务的API。今天要介绍的是大众需求比较高的PHP版本~</p>
<pre lang="php" line="0" escaped="true">
&lt;?php
/*
API Google URL Shortner
marcusnunes.com
*/

$url = $_GET['url'];                        //URL to short with goo.gl
if(!$url){$url = 'http://twitter.com/';}    //example

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://goo.gl/api/url');   //goo.gl api url
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'user=toolbar@google.com&amp;url='.urlencode($url).'&amp;auth_token='.googlToken($url));
   
$saida = curl_exec($curl);
curl_close($curl);

if($saida){
    $json = json_decode($saida);
    echo 'URL encurtada: &lt;br /&gt;&lt;br /&gt;'.$json-&gt;short_url;    //result
}
//goo.gl token
function googlToken($b){
    $i = tke($b);
    $i = $i &gt;&gt; 2 &amp; 1073741823;
    $i = $i &gt;&gt; 4 &amp; 67108800 | $i &amp; 63;
    $i = $i &gt;&gt; 4 &amp; 4193280 | $i &amp; 1023;
    $i = $i &gt;&gt; 4 &amp; 245760 | $i &amp; 16383;
    $j = "7";
    $h = tkf($b);
    $k = ($i &gt;&gt; 2 &amp; 15) &lt;&lt; 4 | $h &amp; 15;
    $k |= ($i &gt;&gt; 6 &amp; 15) &lt;&lt; 12 | ($h &gt;&gt; 8 &amp; 15) &lt;&lt; 8;
    $k |= ($i &gt;&gt; 10 &amp; 15) &lt;&lt; 20 | ($h &gt;&gt; 16 &amp; 15) &lt;&lt; 16;
    $k |= ($i &gt;&gt; 14 &amp; 15) &lt;&lt; 28 | ($h &gt;&gt; 24 &amp; 15) &lt;&lt; 24;
    $j .= tkd($k);
    return $j;
}

function tkc(){
    $l = 0;
    foreach (func_get_args() as $val) {
        $val &amp;= 4294967295;
        $val += $val &gt; 2147483647 ? -4294967296 : ($val &lt; -2147483647 ? 4294967296 : 0);
        $l   += $val;
        $l   += $l &gt; 2147483647 ? -4294967296 : ($l &lt; -2147483647 ? 4294967296 : 0);
    }
    return $l;
}

function tkd($l){
    $l = $l &gt; 0 ? $l : $l + 4294967296;
    $m = "$l";  //must be a string
    $o = 0;
    $n = false;
    for($p = strlen($m) - 1; $p &gt;= 0; --$p){
        $q = $m[$p];
        if($n){
            $q *= 2;
            $o += floor($q / 10) + $q % 10;
        } else {
            $o += $q;
        }
        $n = !$n;
    }
    $m = $o % 10;
    $o = 0;
    if($m != 0){
        $o = 10 - $m;
        if(strlen($l) % 2 == 1){
            if ($o % 2 == 1){
                $o += 9;
            }
            $o /= 2;
        }
    }
    return "$o$l";
}

function tke($l){
    $m = 5381;
    for($o = 0; $o &lt; strlen($l); $o++){
        $m = tkc($m &lt;&lt; 5, $m, ord($l[$o]));
    }
    return $m;
}

function tkf($l){
    $m = 0;
    for($o = 0; $o &lt; strlen($l); $o++){
        $m = tkc(ord($l[$o]), $m &lt;&lt; 6, $m &lt;&lt; 16, -$m);
    }
    return $m;
}
?&gt;
</pre>
<p>下载地址：<a href="http://www.box.net/shared/yob65q20a8">http://www.box.net/shared/yob65q20a8</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/goo-gl.html' rel='bookmark' title='Goo.gl的使用方法'>Goo.gl的使用方法</a></li>
<li><a href='http://www.biaodianfu.com/php-curl-class.html' rel='bookmark' title='PHP 5 curl Class'>PHP 5 curl Class</a></li>
<li><a href='http://www.biaodianfu.com/php-google-urlshortener-api.html' rel='bookmark' title='最新Google短网址API（PHP）'>最新Google短网址API（PHP）</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/goo-gl-php-api.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google产品经理笔试题&amp;面试题</title>
		<link>http://www.biaodianfu.com/google-pm-interview.html</link>
		<comments>http://www.biaodianfu.com/google-pm-interview.html#comments</comments>
		<pubDate>Sun, 25 Jul 2010 01:10:03 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[无法定义]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=2349</guid>
		<description><![CDATA[以下内容整理于网路，可能有些问题并不是来自Google，当时的话很值得思考。~ 1、一辆校车能装下多少个高尔夫球？ 2、如果让你清洗西雅图市所有的窗户，你会对此索价多少？ 3、在一个重男轻女的国家里，每家每户都想生男孩。若一户人家生了一个女孩，便会再生一个，直到生下的是男孩为止。请问这个国家的男女比例是多少？ 4、全世界共有多少位钢琴调音师？ 5、下水道井盖为什么是圆的？ 6、为旧金山市设计一个紧急疏散方案。 7、时钟的指针一天内总共会重合多少次？ 8、你有8个大小一样的球，其中7个重量相同，只有一个略重一些。给你一个天平，而且只准称两次，如何找出重量不同的那个球？ 9、向你8岁的侄子或外甥解释什么是数据库，只能用三个句子。 10、你缩小到只有一枚五分硬币那么高，你的质量也成比例缩小以保持原有密度不变。随后你被扔到一个空的玻璃搅拌器里，搅拌刀片将在60秒后开始运转，你该怎么办？ 11、村子里有100对夫妻，其中每个丈夫都瞒着自己的妻子偷情。村里的每个妻子都能立即发现除自己丈夫之外的其他男人是否偷情，唯独不知道她自己的丈夫到底有没有偷情。村里的规矩不容忍通奸。任何一个妻子，一旦能证明自己的男人偷情，就必须当天把他杀死。村里的女人全都严格照此规矩办事。一天，女头领出来宣布，村里至少有一个丈夫偷情。请问接下来会发生什么事？ 12、假设在一段高速公路上，30分钟之内见到汽车经过的概率是95%。那么，在10分钟内见到汽车经过的概率是多少？ 13、有四个人要在夜里穿过一条悬索桥回到宿营地。可是他们只有一支手电，电池只够再亮17分钟。过桥必须要有手电，否则太危险。桥最多只能承受两个人同时通过的重量。这四个人的过桥速度都不一样：一个需要1分钟，一个需要2分钟，一个需要5分钟，还有一个需要10分钟。他们如何才能在17分钟之内全部过桥？ 14、 如果你看到时钟上面的时间是3：15，那么其时针和分针之间的角度是多少？ 15、将一根木条折成3段之后，可以形成一个三角形的概率有多大？ 16、有两位盲人，他们都各自买了两对黑袜和两对白袜，八对袜了的布质、大小完全相同，而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。 他们每人怎样才能取回黑袜和白袜各两对呢？ 17、有三个人去住旅馆，住三间房，每一间房$10元，于是他们一共付给老板$30，第二天，老板觉得三间房只需要$25元就够了于是叫小弟退回$5给三位客人，谁知小弟贪心,只退回每人$1，自己偷偷拿了$2，这样一来便等于那三位客人每人各花了九元，于是三个人一共花了$27，再加上小弟独吞了不$2，总共是$29。可是当初他们三个人一共付出$30那么还有$1呢？ 18、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约，另一辆火车以每小时20公里的速度从纽约开往洛杉矶。如果有一只鸟，以30公里每小时的速度和两辆火车同时启动，从洛杉矶出发，碰到另一辆车后返回，依次在两辆火车来回飞行，直到两辆火车相遇，请问，这只小鸟飞行了多长距离？ 19、一个经理有三个女儿，三个女儿的年龄加起来等于13，三个女儿的年龄乘起来等于经理自己的年龄，有一个下属已知道经理的年龄，但仍不能确定经理三个女儿的年龄，这时经理说只有一个女儿的头发是黑的，然后这个下属就知道了经理三个女儿的年龄。请问三个女儿的年龄分别是多少？为什么？ 20、你有两个罐子，50个红色弹球，50个蓝色弹球，随机选出一个罐子，随机选取出一个弹球放入罐子，怎么给红色弹球最大的选中机会？在你的计划中，得到红球的准确几率是多少？ 21、你有一桶果冻，其中有黄色，绿色，红色三种，闭上眼睛，抓取两个同种颜色的果冻。抓取多少个就可以确定你肯定有两个同一颜色的果冻？ 22、对一批编号为1～100，全部开关朝上(开)的灯进行以下操作：凡是1的倍数反方向拨一次开关；2的倍数反方向又拨一次开关；3的倍数反方向又拨一次开关……问：最后为关熄状态的灯的编号。 23、想象你在镜子前，请问，为什么镜子中的影像可以颠倒左右，却不能颠倒上下？ 24、一群人开舞会，每人头上都戴着一顶帽子。帽子只有黑白两种，黑的至少有一顶。每个人都能看到其它人帽子的颜色，却看不到自己的。主持人先让大家看看别人头上戴的是什幺帽子，然后关灯，如果有人认为自己戴的是黑帽子，就打自己一个耳光。第一次关灯，没有声音。于是再开灯，大家再看一遍，关灯时仍然鸦雀无声。一直到第三次关灯，才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子？ 25、有两根不均匀分布的香，香烧完的时间是一个小时，你能用什么方法来确定一段15分钟的时间？ 26、两个圆环，半径分别是1和2，小圆在大圆内部绕大圆圆周一周，问小圆自身转了几周？如果在大圆的外部，小圆自身转几周呢？ 27、1元钱一瓶汽水，喝完后两个空瓶换一瓶汽水，问：你有20元钱，最多可以喝到几瓶汽水？ 28、100白球100黑球，每次拿出两个，如白＋白，则放一个黑球进去，黑＋黑，也放个黑球进去，白＋黑，放个白球进去，直到只剩下一个球为止，问剩下黑球的概率。 29、10个人排队戴帽子，10个黄帽子，9个蓝帽子，戴好后后面的人可以看见前面所有人的帽子，然后从后面问起，问自己头上的帽子，结果一直问了9个人都说不知道，而最前面的人却知道自己头上的帽子的颜色，问是什么颜色，为什么。 30、正方形边长为1，以各个顶点半径为1做弧，在正方形中间有一个公共区域，求面积。 31、1000!有几位数，为什么 3.11的三次方是1331,12的三次方是1728,请问哪个数的三次方是1442897？ 32、在一次酒会上有人作了如下统计：参加酒会的人彼此都碰了杯子，此次酒会共碰杯子45 次，请问有多少人参加了酒会？ 33、一个人的假期有13天下雨，12天上午晴天，11天下午晴天，任何一天上午下午不会同时下雨，请问这个人的假期有多少天？ 34、一只蜗牛从井底爬到井口，每天白天蜗牛要睡觉，晚上才出来活动，一个晚上蜗牛可以向上爬3尺，但是白天睡觉的时候会往下滑2尺，井深10尺，问蜗牛几天可以爬出来？ 35、在一个平面上画1999条直线最多能将这一平面划分成多少个部分？ 36、在太平洋的一个小岛上生活着土人，他们不愿意被外人打扰，一天，一个探险家到了岛上，被土人抓住，土人的祭司告诉他，你临死前还可以有一个机会留下一句话，如果这句话是真的，你将被烧死，是假的，你将被五马分尸，可怜的探险家如何才能活下来？ 37、怎样种四棵树使得任意两棵树的距离相等。 38、27个小运动员在参加完比赛后，口渴难耐，去小店买饮料，饮料店搞促销，凭三个空瓶可以再换一瓶，他们最少买多少瓶饮料才能保证一人一瓶？  39、有两根不均匀分布的香，每根香烧完的时间是一个小时，你能用什么方法来确定一段15分钟的时间？  40、你让工人为你工作７天，给工人的回报是一根金条。金条平分成相连的７段，你必须在每天结束时给他们一段金条，如果只许你两次把金条弄断，你如何给你的工人付费？ 41、5个囚犯，分别按1-5号在装有100颗绿豆的麻袋抓绿豆，规定每人至少抓一颗，而抓得最多和最少的人将被处死，而且，他们之间不能交流，但在抓的时候，可以摸出剩下的豆子数。问他们中谁的存活几率最大？ 42、据说有人给酒肆的老板娘出了一个难题：此人明明知道店里只有两个舀酒的勺子，分别能舀7两和11两酒，却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊，用这两个勺子在酒缸里舀酒，并倒来倒去，居然量出了2两酒，聪明的你能做到吗？ 43、已知： 每个飞机只有一个油箱， 飞机之间可以相互加油（注意是相互，没有加油机） 一箱油可供一架飞机绕地球飞半圈， 问题：为使至少一架飞机绕地球一圈回到起飞时的飞机场，至少需要出动几架飞机？（所有飞机从同一机场起飞，而且必须安全返回机场，不允许中途降落，中间没有飞机场） 44、门外三个开关分别对应室内三盏灯，线路良好，在门外控制开关时候不能看到室内灯的情况，现在只允许进门一次，确定开关和灯的对应关系？ 45、一个岔路口分别通向诚实国和说谎国。来了两个人，已知一个是诚实国的，另一个是说谎国的。诚实国永远说实话，说谎国永远说谎话。现在你要去说谎国，但不知道应该走哪条路，需要问这两个人。请问应该怎么问？ 46、在一天的24小时之中，时钟的时针、分针和秒针完全重合在一起的时候有几次？都分别是什么时间？你怎样算出来的？ [...]]]></description>
			<content:encoded><![CDATA[<p>以下内容整理于网路，可能有些问题并不是来自Google，当时的话很值得思考。~</p>
<p>1、一辆校车能装下多少个高尔夫球？</p>
<p>2、如果让你清洗西雅图市所有的窗户，你会对此索价多少？</p>
<p>3、在一个重男轻女的国家里，每家每户都想生男孩。若一户人家生了一个女孩，便会再生一个，直到生下的是男孩为止。请问这个国家的男女比例是多少？</p>
<p>4、全世界共有多少位钢琴调音师？</p>
<p>5、下水道井盖为什么是圆的？</p>
<p>6、为旧金山市设计一个紧急疏散方案。</p>
<p>7、时钟的指针一天内总共会重合多少次？</p>
<p>8、你有8个大小一样的球，其中7个重量相同，只有一个略重一些。给你一个天平，而且只准称两次，如何找出重量不同的那个球？</p>
<p>9、向你8岁的侄子或外甥解释什么是数据库，只能用三个句子。</p>
<p>10、你缩小到只有一枚五分硬币那么高，你的质量也成比例缩小以保持原有密度不变。随后你被扔到一个空的玻璃搅拌器里，搅拌刀片将在60秒后开始运转，你该怎么办？</p>
<p>11、村子里有100对夫妻，其中每个丈夫都瞒着自己的妻子偷情。村里的每个妻子都能立即发现除自己丈夫之外的其他男人是否偷情，唯独不知道她自己的丈夫到底有没有偷情。村里的规矩不容忍通奸。任何一个妻子，一旦能证明自己的男人偷情，就必须当天把他杀死。村里的女人全都严格照此规矩办事。一天，女头领出来宣布，村里至少有一个丈夫偷情。请问接下来会发生什么事？</p>
<p>12、假设在一段高速公路上，30分钟之内见到汽车经过的概率是95%。那么，在10分钟内见到汽车经过的概率是多少？</p>
<p>13、有四个人要在夜里穿过一条悬索桥回到宿营地。可是他们只有一支手电，电池只够再亮17分钟。过桥必须要有手电，否则太危险。桥最多只能承受两个人同时通过的重量。这四个人的过桥速度都不一样：一个需要1分钟，一个需要2分钟，一个需要5分钟，还有一个需要10分钟。他们如何才能在17分钟之内全部过桥？</p>
<p>14、 如果你看到时钟上面的时间是3：15，那么其时针和分针之间的角度是多少？</p>
<p>15、将一根木条折成3段之后，可以形成一个三角形的概率有多大？</p>
<p>16、有两位盲人，他们都各自买了两对黑袜和两对白袜，八对袜了的布质、大小完全相同，而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。 他们每人怎样才能取回黑袜和白袜各两对呢？</p>
<p>17、有三个人去住旅馆，住三间房，每一间房$10元，于是他们一共付给老板$30，第二天，老板觉得三间房只需要$25元就够了于是叫小弟退回$5给三位客人，谁知小弟贪心,只退回每人$1，自己偷偷拿了$2，这样一来便等于那三位客人每人各花了九元，于是三个人一共花了$27，再加上小弟独吞了不$2，总共是$29。可是当初他们三个人一共付出$30那么还有$1呢？</p>
<p>18、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约，另一辆火车以每小时20公里的速度从纽约开往洛杉矶。如果有一只鸟，以30公里每小时的速度和两辆火车同时启动，从洛杉矶出发，碰到另一辆车后返回，依次在两辆火车来回飞行，直到两辆火车相遇，请问，这只小鸟飞行了多长距离？</p>
<p>19、一个经理有三个女儿，三个女儿的年龄加起来等于13，三个女儿的年龄乘起来等于经理自己的年龄，有一个下属已知道经理的年龄，但仍不能确定经理三个女儿的年龄，这时经理说只有一个女儿的头发是黑的，然后这个下属就知道了经理三个女儿的年龄。请问三个女儿的年龄分别是多少？为什么？</p>
<p>20、你有两个罐子，50个红色弹球，50个蓝色弹球，随机选出一个罐子，随机选取出一个弹球放入罐子，怎么给红色弹球最大的选中机会？在你的计划中，得到红球的准确几率是多少？</p>
<p>21、你有一桶果冻，其中有黄色，绿色，红色三种，闭上眼睛，抓取两个同种颜色的果冻。抓取多少个就可以确定你肯定有两个同一颜色的果冻？</p>
<p>22、对一批编号为1～100，全部开关朝上(开)的灯进行以下操作：凡是1的倍数反方向拨一次开关；2的倍数反方向又拨一次开关；3的倍数反方向又拨一次开关……问：最后为关熄状态的灯的编号。</p>
<p>23、想象你在镜子前，请问，为什么镜子中的影像可以颠倒左右，却不能颠倒上下？</p>
<p>24、一群人开舞会，每人头上都戴着一顶帽子。帽子只有黑白两种，黑的至少有一顶。每个人都能看到其它人帽子的颜色，却看不到自己的。主持人先让大家看看别人头上戴的是什幺帽子，然后关灯，如果有人认为自己戴的是黑帽子，就打自己一个耳光。第一次关灯，没有声音。于是再开灯，大家再看一遍，关灯时仍然鸦雀无声。一直到第三次关灯，才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子？</p>
<p>25、有两根不均匀分布的香，香烧完的时间是一个小时，你能用什么方法来确定一段15分钟的时间？</p>
<p>26、两个圆环，半径分别是1和2，小圆在大圆内部绕大圆圆周一周，问小圆自身转了几周？如果在大圆的外部，小圆自身转几周呢？</p>
<p>27、1元钱一瓶汽水，喝完后两个空瓶换一瓶汽水，问：你有20元钱，最多可以喝到几瓶汽水？</p>
<p>28、100白球100黑球，每次拿出两个，如白＋白，则放一个黑球进去，黑＋黑，也放个黑球进去，白＋黑，放个白球进去，直到只剩下一个球为止，问剩下黑球的概率。</p>
<p>29、10个人排队戴帽子，10个黄帽子，9个蓝帽子，戴好后后面的人可以看见前面所有人的帽子，然后从后面问起，问自己头上的帽子，结果一直问了9个人都说不知道，而最前面的人却知道自己头上的帽子的颜色，问是什么颜色，为什么。</p>
<p>30、正方形边长为1，以各个顶点半径为1做弧，在正方形中间有一个公共区域，求面积。</p>
<p>31、1000!有几位数，为什么 3.11的三次方是1331,12的三次方是1728,请问哪个数的三次方是1442897？</p>
<p>32、在一次酒会上有人作了如下统计：参加酒会的人彼此都碰了杯子，此次酒会共碰杯子45 次，请问有多少人参加了酒会？</p>
<p>33、一个人的假期有13天下雨，12天上午晴天，11天下午晴天，任何一天上午下午不会同时下雨，请问这个人的假期有多少天？</p>
<p>34、一只蜗牛从井底爬到井口，每天白天蜗牛要睡觉，晚上才出来活动，一个晚上蜗牛可以向上爬3尺，但是白天睡觉的时候会往下滑2尺，井深10尺，问蜗牛几天可以爬出来？</p>
<p>35、在一个平面上画1999条直线最多能将这一平面划分成多少个部分？</p>
<p>36、在太平洋的一个小岛上生活着土人，他们不愿意被外人打扰，一天，一个探险家到了岛上，被土人抓住，土人的祭司告诉他，你临死前还可以有一个机会留下一句话，如果这句话是真的，你将被烧死，是假的，你将被五马分尸，可怜的探险家如何才能活下来？</p>
<p>37、怎样种四棵树使得任意两棵树的距离相等。</p>
<p>38、27个小运动员在参加完比赛后，口渴难耐，去小店买饮料，饮料店搞促销，凭三个空瓶可以再换一瓶，他们最少买多少瓶饮料才能保证一人一瓶？ </p>
<p>39、有两根不均匀分布的香，每根香烧完的时间是一个小时，你能用什么方法来确定一段15分钟的时间？ </p>
<p>40、你让工人为你工作７天，给工人的回报是一根金条。金条平分成相连的７段，你必须在每天结束时给他们一段金条，如果只许你两次把金条弄断，你如何给你的工人付费？</p>
<p>41、5个囚犯，分别按1-5号在装有100颗绿豆的麻袋抓绿豆，规定每人至少抓一颗，而抓得最多和最少的人将被处死，而且，他们之间不能交流，但在抓的时候，可以摸出剩下的豆子数。问他们中谁的存活几率最大？</p>
<p>42、据说有人给酒肆的老板娘出了一个难题：此人明明知道店里只有两个舀酒的勺子，分别能舀7两和11两酒，却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊，用这两个勺子在酒缸里舀酒，并倒来倒去，居然量出了2两酒，聪明的你能做到吗？</p>
<p>43、已知： 每个飞机只有一个油箱， 飞机之间可以相互加油（注意是相互，没有加油机） 一箱油可供一架飞机绕地球飞半圈， 问题：为使至少一架飞机绕地球一圈回到起飞时的飞机场，至少需要出动几架飞机？（所有飞机从同一机场起飞，而且必须安全返回机场，不允许中途降落，中间没有飞机场）</p>
<p>44、门外三个开关分别对应室内三盏灯，线路良好，在门外控制开关时候不能看到室内灯的情况，现在只允许进门一次，确定开关和灯的对应关系？</p>
<p>45、一个岔路口分别通向诚实国和说谎国。来了两个人，已知一个是诚实国的，另一个是说谎国的。诚实国永远说实话，说谎国永远说谎话。现在你要去说谎国，但不知道应该走哪条路，需要问这两个人。请问应该怎么问？</p>
<p>46、在一天的24小时之中，时钟的时针、分针和秒针完全重合在一起的时候有几次？都分别是什么时间？你怎样算出来的？</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/link-building.html' rel='bookmark' title='影响搜索引擎排名因素2009年版（四）'>影响搜索引擎排名因素2009年版（四）</a></li>
<li><a href='http://www.biaodianfu.com/googlebot-ua-ip.html' rel='bookmark' title='Google蜘蛛UA及IP'>Google蜘蛛UA及IP</a></li>
<li><a href='http://www.biaodianfu.com/sousuoyinqing-paiming.html' rel='bookmark' title='影响搜索引擎排名因素2009年版（三）'>影响搜索引擎排名因素2009年版（三）</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-pm-interview.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

