Google搜索结果预加载解读:判断基于历史数据

 

  7月5日下午消息,Google推出的即时页面(Instant Pages)技术,能够对用户的搜索结果预加载,降低搜索总耗时2-5秒。对此,Google产品经理Richard Rabbat在与新浪科技的沟通中表示,这项技术主要基于此前累计的历史数据。

  Google在此前举行的Insider Search大会上,宣布将推出即时页面等新功能。据称,在开启即时页面功能的情况下,用户点击谷歌搜索结果时,可以“几乎可以毫无延迟地加载网站的图片和文字”,不受新网页加载时间的影响。

  之所以能够实现这一效果,是因为Google已经对搜索结果页面进行了预加载。按照目前原则,一旦即时页面功能启用,搜索结果第一项的页面将在后台被预先加载,并且只对第一项结果进行预加载。而且触发即时页面功能需要一定的条件。

  “对搜索结果进行适当的预加载是一个有挑战性的问题”,Richard Rabbat说如果误判用户即将点击的结果,将会造成带宽等电脑资源的浪费。因此,只有Google认为把握性十足时,才会启用预加载功能。

  据介绍,Google的判断标准主要基于所累积的历史数据。

  Richard Rabbat表示,虽然目前即时页面功能只在Google Chrome浏览器的开发版本中应用,但即将在beta版本中出现。按计划,这一功能不久之后将集成进Chrome浏览器的稳定版本。届时,普通用户也可以使用这一服务。

  开发即时页面技术的,是Google内部一个称为“Make the Web Faster”(让网页更快)计划的团队。这个团队主要专注于提高Google产品性能,尤其是在搜索方面,同时也涉及Picasa、Google Docs等应用的开发。(舒石)

  以下是新浪科技与Richard Rabbat的对话实录:

  新浪科技:这次发布的Instant Pages新技术,何时会得以应用,在搜索结果上会有特别提示信息么?

  Richard Rabbat:目前,这项功能只能在Google Chrome浏览器的开发版本中使用,未来即将发布在beta版本中,在不久后发布的稳定版本中,用户也可以使用。

  新浪科技:为什么Instant Page只对第一个搜索结果进行预加载?我们是如根据什么标准来判断到底对那个结果进行预加载的?在技术上最大的难点是什么?

  Richard Rabbat:对搜索结果进行适当的预加载是一个有挑战性的问题,因为如果误判了用户即将点击的结果,当用户点击别的结果时,电脑的资源包括带宽将会被占用。只有在我们对用户的下一点击有十足把握时,Google.com才进行预加载,这基于我们对累积的历史数据的判断。在实际试验中,即使偶尔有少数误判的情形,我们也看到这一功能为用户带来了速度上的显著提高。

  在Chrome浏览器中,我们非常小心不让预加载降低用户电脑的速度。比如说,我们现在最多一次只预加载一个页面,并且预加载仅是一个次要优先的选项。

  新浪科技:能不能介绍下这项技术的发展背景?

  Richard Rabbat:事实上,预获取的概念并不是新出现的,它是W3C HTML5标准中的一部分。虽然Google目前是唯一使用这一功能的主流搜索引擎,但是任何网站都可以使用Chrome来激活预加载功能。

  新浪科技:请简单介绍下make the web faster团队的情况。

  Richard Rabbat:这个团队是由很多在网站基础设施的性能和速度、或网站应用开发方面有丰富经验的工程师组成的。他们是那种典型的工程师,喜欢优化、对赢得每一毫秒都特别兴奋。这个团队由Arvind Jain领导,他是一位资深工程总监,负责组建并领导整个团队。

  这个团队在Google不同的办公室工作,每年开一次会议深入探讨各自的想法,分享经验、并讨论未来的方向。他们专注于那些可提高Google产品性能的技术的具体化和改进,尤其是搜索方面的技术,同时也包括很多Google开发的应用如Picasa和Google Docs。

  新浪科技:你们是从哪些方面来提升网络速度的?有哪些具体的方法?

  Richard Rabbat:我们从不同的角度和方向来考虑提高网络的速度,具体方法有:

  1)基础设施方面:我们团队首先通过改善底层的网络协议,包括TCP/IP、HTML和DNS等,来提升上网速度。这些网络协议很多年前就已存在,现在我们正在试图改善它们以便适应更丰富的网络环境以及更快的带宽速度。

  2)开发者方面:最佳实践将帮助网站管理员通过优化内容、内容的缓存以及传递速度来提升他们网站的浏览速度,例如,通过Web服务器来压缩内容,改善网页上的图像尺寸以及插入不会阻止页面内容的JavaScript。

  3)客户端方面:我们团队与Google Chrome浏览器团队及其他浏览器团队有着密切的合作,我们致力于通过在HTML5加入新功能来加快页面的加载,包括能够测量加载网页所花费的时间的功能,预取网页内容的功能,以及异步加载代码同时装载页面上其他对象的功能。

  此外,我们团队还建立了一个新的图片格式,WebP,相比同等质量的JPEG图片可以节省约为30%的大小,从而减少了需要加载的字节数。

  4)服务器方面:我们团队已经为Apache HTTP 服务器研发出一项优化技术,可以优化由Apache HTTP 服务器提供给浏览器的网页。

  5)广告速度提升方面:我们团队持续地在改进网络广告的加载速度,以及Google Analytics,因为其经常出现在第三方网站,因此我们希望尽量提高它的速度。

  新浪科技:目前,你们团队参与研发的产品有哪些?在已经推出的产品中,提速效果最明显的是什么?

  Richard Rabbat:目前,我们团队参与的产品主要有:

  1)Google Public DNS: Google Public DNS能够通过提高DNS解析速度,让用户获得更快速、更稳定的上网体验。

  2)Asynchronous Google Analytics: Google Analytics的一种版本,可以在页面加载其它元素的同时加载Google Analytics代码,因此这个过程不会使页面加载速度变慢。

  3)Asynchronous AdSense: 与Google Analytics类似,它可以在加载AdSense 广告的同时而不影响发布商的网站页面加载速度。

  4)Page Speed: Page Speed 是一项开源的Firefox/Chrome开发者工具,网站管理员和网络开发人员可以使用 Page Speed 来评估他们网页的性能,并获得相关建议。Page Speed 还可以对网站的网络服务器配置和前端代码进行若干测试,这些测试基于一组已知可增强网页性能的最佳实践,在网页上运行 Page Speed 的网站管理员会获得一组针对各网页的分数,以及有关如何改善网页性能的有用建议。

  5)mod_pagespeed: 这个模块是Apache HTTP Server的一部分,其通过检查正在服务的网页,并优化它们的运行,从而帮助提高页面加载速度20%至60%。

  6)WebP: 一种新的图片格式,相比同等质量的JPEG图片,它可以节省约为30%的大小,从而减少了需要加载的字节数。现在Opera以及Google Chrome浏览器已经支持这种图片格式,Picasa 和AppEngine等应用也支持WebP。

  新浪科技:随着网速越来越快,你们所研发的技术的意义有多大?未来还有什么改进方向,还有多大的空间?

  Richard Rabbat:目前,互联网有基础的“互联网管道”包括光纤到户和其他技术来保证用户享有高速的网络,但是那种速度仅仅只有当我们将管道最大化时,用户才能意识到。现在,在下载其他相关内容之前,浏览器花费了很多的时间等待完成一项下载。另一方面,随着无线技术比如3G和4G的出现,带宽仍然比较吃紧,开发者必须确保实施最优方法让处于不同连接状态的用户都受益。我们的团队正在密切关注无线和移动带来的惊人增长,网页提速就是一个很好的提高移动互联网体验的例子。大家可以期待,Google将带来更多的产品帮助移动互联网用户拥有快速的互联网体验。

时间: 2024-09-13 15:34:37

Google搜索结果预加载解读:判断基于历史数据的相关文章

理解Javascript图片预加载_javascript技巧

预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.本文将分享三个不同的预加载技术,来增强网站的性能与可用性. 方法一:用CSS和JavaScript实现预加载 实现预加载图片有很多方法,包括使用CSS.JavaScript及两者的各种组合.这些技术可根据不同设计场景设计出相应的解决方案,十分高效.

javascript图片懒加载与预加载的分析

   预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染.  两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载.懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力.  懒加载的意义及实现方式有:    意义: 懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数.    实现方式:       1.第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟.     2.第二种是条件加载,符合某些条件,或触发

解析javascript图片懒加载与预加载的分析总结_javascript技巧

本篇文章主要介绍了懒加载和预加载两种技术的解析,废话不多说,一起来看吧. 懒加载也叫延迟加载:前一篇文章有介绍:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片. 预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染. 两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载.懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力. 懒加载的意义及实现方式有: 意义: 懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数. 实现方式:

如何通过预加载器提升网页加载速度

预加载器(Pre-loader)可以说是提高浏览器性能最重要的举措.Mozilla 官方发布数据,通过预加载器技术网页的加载性能提升了19%,Chrome测试了 Alexa 排名前2000名网站,性能有20%的提升. 它并不是一门新技术,有人认为只有 Chrome 才具备这个功能.也有人认为它是有史以来提升浏览器性能最有效的方法.如果你第一次接触预加载器,也许心中已经有了无数个问号.什么是预加载器?它是如何提升浏览器性能的? 首先需要了解浏览器是如何加载网页的 一个网页的加载依赖于脚本文件.CS

懒加载和预加载的实现

提到前端性能优化中图片资源的优化,懒加载和预加载就不能不说,下面我用最简洁明了的语言说明懒加载和预加载的核心要点以及实现 懒加载 什么是懒加载 懒加载也就是延迟加载;当访问一个页面时,先将img标签中的src链接设为同一张图片(这样就只需请求一次,俗称占位图),将其真正的图片地址存储在img标签的自定义属性中(比如data-src);当js监听到该图片元素进入可视窗口时,即将自定义属性中的地址存储到src属性中,达到懒加载的效果;这样做能防止页面一次性向服务器响应大量请求导致服务器响应慢页面卡顿

Jquery实现图片预加载与延时加载的方法_jquery

本文实例讲述了Jquery实现图片预加载与延时加载的方法.分享给大家供大家参考.具体分析如下: 有很多项目经常会需要判断图片加载完成后执行相应的操作,或者需要图片延迟加载,网上虽然已经有很不错的插件,但要为这些效果还得单独加载一个插件的话总感觉有点不舒服,干脆自己写了个方法: 复制代码 代码如下: function loadimg(arr,funLoading,funOnLoad,funOnError){  var numLoaded=0,  numError=0,  isObject=Obje

JavaScript模仿Pinterest实现图片预加载功能_javascript技巧

前言 对于Pinterest网站,从前端设计出发的话,我们一定不会忘记我们曾经非常流行的瀑布流布局.但是今天,给大家简要分析下 Pinterest上另外一项非常值得借鉴图片加载细节. 看看下面的截图: 大家可以感觉到图片出来的时候预先绘制轮廓,重点是预制区域的颜色采用与图片较为相似的色彩值,当图片加载完全后,会有种渐入的效果. 其中谷歌的图片搜索也用到了类似效果: 我们称之为这种效果为Color Placeholder [色彩预置],当图片加载的时候,我们优先显示其所在容器的背景颜色(如同很多会

jquery实现图片预加载_jquery

使用jquery实现图片预加载提高页面加载速度和用户体,本就为大家详细分析jquery图片预加载的实现原理. 什么时候使用图片预加载? 如果页面使用了很多不是最初加载便可见的图片,有必要进行预加载: $.preloadImages = function () { for (var i = 0; i < arguments.length; i++) { $('img').attr('src', arguments[i]); } }; $.preloadImages('img/hover-on.pn

loadimage插件实现图片预加载

现在网上很流行图片预加载效果,这样可以很好的提高用户体验,也能减轻服务器压力 不过大部分使用起来都比较麻烦 我给大家推荐一个,基本上不需要修改你的html代码,只要调用本插件,并用jquery指定要加载的图片位置即可搞定 简单,实用,才是最好的,何必要搞那么复杂呢 jQuery.fn.LoadImage=function(scaling,width,height,loadpic){ if(loadpic==null)loadpic="load3.gif"; return this.ea