信息提供方法和信息提供设备的制作方法

文档序号:6610775阅读:145来源:国知局
专利名称:信息提供方法和信息提供设备的制作方法
技术领域
本发明涉及信息技术领域,更具体地,本发明涉及一种信息提供 方法和信息提供设备,它们可用于信息搜索。
背景技术
随着web2.0的流行,为了能够向用户提供更好的web应用和 web页面的体验,越来越多的web站点提供包含客户端脚本的网页, 使得能够在例如Microsoft Internet Explorer浏览器的客户端上动态 地产生内容。但是,这些内容很难被搜索引擎搜索到并且对其进行索引。例如, 一个服务器(web站点)提供如图7所示的HTML代码编写的网页。对于上述网页,在例如IE、 Firefox之类的客户端访问该服务器 后,在其中将显示如下Hello, WorldThis is meClick me此外,当用户在客户端中点击了 [Click me 一安钮之后,客户端将 显示如下Hello, World This is me You click meClick me这里需要注意的是,当用户在客户端点击|Click me阵钮后,客 户端并不向服务器发送另一个请求,即可以获得点击|Click me映钮 后的结果,这里是"You click me"。然而,对于当前流行的大型搜索引擎(例如Google搜索引擎、 Baidu搜索引擎、Yahoo搜索引擎等等)来说,在它们访问该服务器 后,它们只抓取"Hello, World"和按钮IClick^1,并对其进行索引。 对于其他内容,例如"This is me"和"You click me",搜索引擎不 能搜索到并对它们进行索引。换句话说,搜索引擎,更具体地说,是搜索引擎的网络爬虫,在 抓取期间只抓取网页中的静态内容,丟弃了网页中的客户端脚本, 而不像普通客户端那样,执行上述HTML代码中的客户端脚本,生 成"This is me"和"You click me"。搜索引擎不能执行客户端脚本,并生成相应内容的主要原因如下1. 有效性考虑。搜索引擎的网络爬虫每天需要处理上亿个网页, 并且平均地,执行网页中的客户端脚本比仅仅解析网页要慢10-100 倍,因此为了保证搜索引擎的处理速度,舍弃了客户端脚本的执行。2. 安全性考虑。允许在搜索引擎运行环境中执行网页中的客户 端脚本将对搜索引擎带来很大的安全威胁。3. 维护客户端脚本上下文考虑。为了获得最高的效率,目前大 多数搜索引擎包括几个独立的部分,分别用于处理不同的任务。例 如, 一个网络爬虫,用于取回网页, 一个解析器,用于解析网页, 一个或多个分析引擎,用于分析解析后的网页。很难在这些不同部 分之间维护和转移实时执行客户端脚本后生成的内容。4. 客户端脚本执行顺序的不确定性考虑。通常,网页中的客户 端脚本与客户端侧用户交互(例如,点击一个按钮,移动鼠标等)绑定。对于搜索引擎来说,不可能预测客户端脚本的执行顺序。此 外,出于效率和安全方面的原因,以所有可能的顺序执行客户端脚 本是搜索引擎难以接受的。然而,从搜索引擎的角度和web内容提供者(服务器)的角度 来说,非常迫切地希望搜索引擎能够搜索到执行客户端脚本后所生 成的内容。发明内容本发明的一个目的是使搜索引擎能够在无需执行客户端脚本的 情况下搜索到相应的内容。根据本发明的第一方面,提出了一种信息提供方法,包括步骤: 判定请求包括客户端脚本的初始网页的客户端是搜索引擎;执行所 述客户端脚本以生成相应内容;构造包括所述内容的新网页;生成 指向所述新网页的统一资源定位符(URL);以及把所述新网页连同所 述统一资源定位符一起提供给所述搜索引擎。根据本发明的第二方面,提出了一种信息提供设备,包括判断 装置,用于判断请求包括客户端脚本的初始网页的客户端是否是搜 索引擎;执行装置,用于当判断装置判定请求包括客户端脚本的初 始网页的客户端是搜索引擎时,执行所述客户端脚本以生成相应内 容;构造装置,用于构造包括所述内容的新网页;生成装置,用于 生成指向所述新网页的统一资源定位符;以及提供装置,用于把所 述新网页连同所述统一资源定位符一起提供给所述搜索引擎。根据本发明的第三方面,提出了一种信息提供方法,包括步骤 判定请求信息的客户端不是搜索引擎;判定所述请求的统一资源定 位符源自于搜索引擎;判定所述请求的统一资源定位符不是常规可 访问的统一资源定位符;根据所述统一资源定位符,取回或构造相 应的网页,其中所述网页包括执行客户端脚本生成的内容;以及将 所述网页提供给所述客户端。根据本发明的第四方面,提出了一种信息提供设备,包括第一 判断装置,用于判断请求信息的客户端是否是搜索引擎;第二判断 装置,用于在所述第一判断装置判定所述客户端不是搜索引擎时, 判断所述请求的统一资源定位符是否源自于搜索引擎;第三判断装 置,用于在所述第二判断装置判定所述请求的统一资源定位符源自 于搜索引擎时,判断所述请求的统 一 资源定位符是否是常规可访问 的统一资源定位符;取回装置或构造装置,用于在所述第三判断装置判定所述请求的统 一 资源定位符不是常规可访问的统 一 资源定位 符时,根据所述统一资源定位符,取回或构造相应的网页,其中所述网页包括执行客户端脚本生成的内容;以及提供装置,用于将所 述网页提供给所述客户端。利用本发明,搜索引擎能够在无需执行客户端脚本的情况下搜索 到相应的内容。


通过以下结合附图的说明,并且随着对本发明的更全面了解,本 发明的其他目的和效果将变得更加清楚和易于理解,其中 图1示出了本发明的实施方式可以在其中实现的环境; 图2详细示出了在图1所示的环境中包含的各个实体之间的信号 流关系;图3示出了根据本发明的一个实施方式的信息提供方法的示意 流程图;图4示出了根据本发明的另一个实施方式的信息提供方法的示 意流程图;图5示出了根据本发明的 一 个实施方式的信息提供设备的示意 框图;以及图6示出了根据本发明的另一个实施方式的信息提供设备的示 意框图。图7示出了 一段HTML代码。在所有的上述附图中,相同的标号表示具有相同、相似或相应的 特征或功能。
具体实施方式
本发明的基本思想是,首先,当web应用或插件接收到连接请 求时,判断请求包括客户端脚本的初始网页的客户端是否是搜索引 擎。在客户端是搜索引擎的情况下,执行所述客户端脚本以生成相应内容。然后,构造包括所述内容的新网页,生成指向所述新网页 的统一 资源定位符,以及把所述新网页连同所述统一 资源定位符一 起提供给所述搜索引擎。这样,搜索引擎无需执行所述客户端脚本 就能得到上述内容。在搜索引擎对所述内容进行分析和索引之后,用户就可以在客 户端上通过搜索引擎搜索到上述内容。当用户在客户端上通过搜索引擎搜索到上述内容后,他可以在 客户端上在搜索引擎的页面中点击一个相应的统一资源定位符,来 向服务器请求所述内容。当判断出用户通过其客户端的所述请求源自于搜索引擎,更具 体地说,源自于搜索引擎的搜索结果列表,并判断出用户点击的是 非常规可访问的统 一 资源定位符后,根据所述统一 资源定位符来取 回或构造包括上述内容的网页,并将所述网页提供给用户的客户端。 在本发明的一个实施方式中,通过向服务器提供一个插件,来 实现本发明的目的。这个实施方式的优势在于,可以不对在服务器中的已有web应用作任何修改,就可以实现本发明的目的。当然,本领域的技术人员可以理解,可以通过服务器中的web应用本身来实现本发明的目的。在如下的详细描述中,针对的是通过向服务器提供一个插件,来实现本发明的目的这样的实施方式。图1示出了本发明的实施方式可以在其中实现的环境100。如图 l所示,该环境100包括一个服务器110、 一个客户端120、 一个客 户端/服务器130和一个网络140。其中,服务器110经由链路112 连接到网络140。客户端120经由链路122连接到网络140;客户端 /服务器130经由链路132连接到网络140。链路112、 122、 132可 以是有线链路,诸如同轴电缆、光纤等,也可以是无线链路,诸如 卫星链路等。同样地,网络140可以是无线网、有线网或它们的组 合。另外,网络140可以是局域网、城域网、广域网。例如,网络 140是因特网。服务器110中包括web应用150、插件160、存储库170。 客户端120是普通的客户端。客户端/服务器130是搜索引擎,当其访问服务器110,以抓取服 务器110中web应用150的网页时,充当客户端;而当客户端120 访问该搜索引擎,以搜索内容的时候,充当服务器。当然,本领域的技术人员应该理解,在网络140上还可以连接有 其他的客户端和/或服务器。并且,为了能够彼此识别,客户端和服 务器可以具有可以唯 一 地识别它们的标识,例如IP地址等。图2详细示出了在图1的环境中包含的各个实体之间的信号流关系。客户端120和客户端/服务器130都可以访问服务器110,以请求 web应用150的网页。这里,假设web应用150提供包括客户端脚本的网页。当执行 所述客户端脚本时,将生成相应的内容。例如,web应用150提供 由图7所示的HTML代码编写的网页。在本发明中,客户端120和客户端/服务器130的请求首先被插 件160获得。然后,插件160判断请求是否来自搜索引擎。根据标准,搜索引 擎的网络爬虫必须在请求的头部的用户代理部分中用唯一的公开名 称来显式地声明其自己,例如,Google网络爬虫的名称为 "Googlebot" , Baidu网络爬虫的名称为"Baiduspider,, , Yahoo网 络爬虫的名称为"Yahoo! Slurp",因此,使用一些匹配规则,能够 很容易地判断请求是来自普通客户端还是来自搜索引擎的网络爬 虫。当插件160判断出请求是来自客户端120时,它将请求重定向到 web应用150,由web应用150直接将与所述请求相关的网页发送给 客户端120。当插件160判断出请求是来自客户端/服务器130时,它将从web 应用150取回与所述i青求相关的网页(初始网页),并扭^亍在该网页中包括的客户端脚本,以生成相应的内容。然后构造包括生成的 所述内容的新网页(静态网页),并且生成指向包括生成的所述内容的新网页的统一资源定位符。然后,该插件160把包括生成的所 述内容的新网页连同所述统 一 资源定位符 一起提供给客户端/服务器130,从而客户端/服务器130无需执行客户端脚本就能得到上述内六 谷。在所述新网页中,也应当包括初始网页中不需要执行客户端脚本 而生成的内容,即静态内容。在本发明的另一个实施方式中,插件160还在存储库170中存储 所构造的包括生成的所述内容的新网页和指向所述新网页的统一资 源定位符。在本发明的一个实施方式中,所述内容的生成不需要与用户的交 互相关的参数。因此,插件160不需要使用与用户的交互相关的参 数,来生成所述内容。在本发明的另一个实施方式中,所述内容的生成需要与用户的交 互相关的参数。因此,插件160需要使用与用户的交互相关的参数, 来生成所述内容。 —用户的每一个动作可以有一个相应的参数。上述参数对于web应用150的管理者/所有者来说是最清楚的。 在本发明的又一个实施方式中,所述内容包括多个部分,每个部 分使用单个或多个参数的有序排列生成。例如,可以设想这样一种 情形,从服务器IIO取回的在客户端120上显示的网页包括多个按 钮,用户每点击一个按钮,该网页就会显示所述内容的不同部分, 或者用户有序地点击多个按钮,该网页显示所述内容的不同部分, 例如,用户依次点击第一、第二、第三按钮,将显示所述内容的一 个部分,而用户依次点击第二、第一、第三按钮,将显示所述内容 的另一个部分,等等。因此,插件160使用单个参数或多个参数的有序排列,生成所述 内容的不同部分。在本发明的一个实施方式中,插件160构造分别包括生成的所述 内容的多个部分的一个的多个新网页,生成分别指向所构造的分别包括生成的所述内容的多个部分的一个的多个新网页的一个的多个 统一资源定位符,以及把所述多个新网页连同所述多个统一资源定 位符一起提供给所述客户端/服务器130。在本发明的另外一个实施方式中,插件160只构造包括生成的所 述内容的多个部分的单个新网页,生成指向所构造的包括生成的所 述内容的多个部分的单个新网页的单个统 一 资源定位符,以及把所 构造的包括生成的所述内容的多个部分的单个新网页连同所述单个 统一资源定位符一起提供给客户端/服务器130,从而客户端/服务器 130无需执行所述客户端脚本就能得到上述内容。换句话说,在该实 施方式中,插件160等得到各部分内容后,才构造包括各部分内容 的单个新网页。在本发明的另一个实施方式中,所述内容包括两个部分,其中第 一部分的生成不需要与用户的交互相关的参数,而第二部分的生成 需要与用户的交互相关的参数。因此,插件160可以构造分别包括生成的所述内容的第 一部分和 第二部分的两个新网页,生成分别指向所构造的分别包括生成的所 述内容的第 一部分和第二部分的两个新网页的一个的两个统一资源 定位符,以及把所构造的分别包括生成的所述内容的第 一 部分和第 二部分的两个新网页连同所述两个统一 资源定位符一起提供给客户 端/服务器130。在本发明的另 一个实施方式中,插件160构造分别包括生成的所 述内容的第一部分和所述第一部分、第二部分的两个新网页,生成分別指向所构造的分别包括生成的所述内容的第一部分和所述第一 部分、第二部分的两个新网页的一个的两个统一资源定位符,以及 把所构造的分别包括生成的所述内容的第一部分和第一部分、第二 部分的两个新网页连同所述两个统一资源定位符一起提供给客户端/ 服务器130。换句话说,在该实施方式中,插件160构造只包括其生成不需要与用户的交互相关的参数的内容的第一部分的新网页和构造不仅包 括其生成不需要与用户的交互相关的参数的内容的第一部分,并且 还包括其生成需要与用户的交互相关的参数的内容的第二部分的新 网页。并且,插件160可以通过把指向所构造的包括生成的所述内容的 第 一部分、第二部分的新网页的统一资源定位符放在所构造的包括 生成的所述内容的第一部分的新网页中,来向客户端/服务器130提 供所构造的包括生成的所述内容的新网页。例如,考虑服务器110中的web应用150提供由图7所示的 HTML代码编写的网页的情况,其中"Thisisme"的生成不需要与 用户的交互相关的参数,而"Youclickme"的生成需要与用户的交 互相关的参数。在上述实施方式中,插件160将构造如下的两个新网页。第一新网页 <HTML> <Body> Hello, world<div id=,,result,,>This is me</div> <div id=,,result2,,></div><a href="index.html.action.html.buttonl.onclick"〉Click me</a></Body></HTML〉第二新网页 〈HTML〉 <Body> Hello, world<div id=,,result,,>This is me</div> <div id=,,result2,,〉You click me </div> </Body> </HTML〉可以看出,第 一新网页包括其生成不需要与用户的交互相关的参 数的内容的第一部分"Thisisme"。而第二新网页不仅包括其生成 不需要与用户的交互相关的参数的内容的第一部分"Thisisme",并且还包括其生成需要与用户的交互相关的参数的内容的第二部分 "You click me"。另外,指向第二新网页的统一资源定位符 (index.html.action.html.buttonl .onclick)包含在第 一新网页中。在客户端/服务器130对所述内容进行分析和索引之后,用户就 可以在客户端120上通过客户端/服务器130搜索到上述内容。当用户在客户端120上通过客户端/月良务器130搜索到上述内容 后,他可以在客户端120上在搜索引擎的页面中点击一个相应的统 一资源定位符,来向服务器110 (更具体地说,向web应用150)请 求所述内容。上述插件160能够判断出用户的所述请求源自于客户 端/服务器130,更具体地说,源自于搜索引擎的搜索结果列表,并 可以判断出用户点击的是非常规可访问的统一资源定位符。上述由插件160生成的指向构造的包括生成的内容的新网页的 统一资源定位符是非常规可访问的统一资源定位符,如果用户在客 户端120上直接用这些统一资源定位符来访问服务器110(不通过在 客户端120上在搜索引擎的页面中点击这些统一资源定位符来访问 服务器110),将不会得到相应网页。相比之下,常规可访问的统一 贵源定位符是指用户在客户端120上直接用它/它们来访问服务器 110,能得到相应网页的统一资源定位符。此后,上述插件160根据所述非常规访问统一资源定位符来从存 储库170取回包括上述内容的网页,或者(在存储库170中没有存储的情况下)从web应用150构造包^舌上述内容的网页,并将所述 网页提供给客户端120。图3示出了根据本发明的一个实施方式的信息提供方法的示意 流程图。该示意流程图中的步骤例如由插件160执行。首先,从客户端接收包括客户端脚本的网页的请求(步骤S310)。然后,判断请求包括所述客户端脚本的网页的客户端是否是搜索 引擎(步骤S320 )。当判断出请求包括所述客户端脚本的网页的客户端是普通客户 端时(步骤S320的"否"分支),流程进行到步骤S330。在步骤 S330,将请求重定向到提供所述包括客户端脚本的网页的web应用。当判断出请求包括所述客户端脚本的网页的客户端是搜索引擎 时(步骤S320的"是"分支),流程进行到步骤S340。在步骤S340,从web应用取回所述网页(初始网页),然后流 程进行到步骤S350。在步骤S350,执行所述客户端脚本来生成所述内容,然后流程 进行到步骤S360。在步骤S360,构造包括生成的所述内容的新网页,然后流程进 行到步骤S370。在流程S370,生成指向所构造的包括生成的所述内容的新网页 的统一资源定位符,然后流程进行到步骤S380。在步骤S380,把所构造的包括生成的所述内容的新网页连同所 述统一资源定位符一起提供给所述搜索引擎,从而所述搜索引擎无 需执行所述客户端脚本就能得到上述内容。在上面的流程图中,还可以包括在存储库中存储所构造的包括生 成的所述内容的新网页的步骤和在存储库中存储指向所述新网页的 统一资源定位符的步骤。如前所述,所述内容的生成可以不需要与用户的交互相关的参 数,所述内容的生成也可以需要与用户的交互相关的参数。更进一步地,所述内容包括多个部分,每个部分使用单个参数或多个参数的有序排列生成,此时,在步骤S360-S380,构造分别包括 生成的所述内容的多个部分的一个的多个新网页,生成分别指向所 构造的分别包括生成的所述内容的多个部分的一个的多个新网页的 一个的多个统一资源定位符,以及把所构造的分别包括生成的所述 内容的多个部分的一个的多个新网页连同所述多个统一资源定位符 一起提供给所述搜索引擎,从而所述搜索引擎无需执行所述客户端 脚本就能得到上述内容。如前所述,在步骤S360-S380,也可以是这样,即只构造包括生 成的所述内容的多个部分的单个新网页,生成指向所构造的包括生 成的所述内容的多个部分的单个新网页的单个统一资源定位符,以 及把所构造的包括生成的所述内容的多个部分的单个新网页连同所 述单个统一资源定位符一起提供给所述搜索引擎,从而所述搜索引 擎无需执行所述客户端脚本就得到了上述内容。换句话说,在步骤 S360,在得到各内容部分后,才构造包括各内容部分的单个新网页。如前所述,所述内容包括两个部分,其中第一部分的生成不需要 与用户的交互相关的参数,而所述内容的第二部分的生成需要与用 户的交互相关的参数。因此,在步骤S360-S380,可以是这样,即构造分别包括生成的 所述内容的第一部分和第二部分的两个新网页,生成分别指向所构 造的分别包括生成的所述内容的第一部分和第二部分的两个新网页 的一个的两个统一资源定位符,以及:fe所构造的分别包4舌生成的所述内容的第一部分和第二部分的两个新网页连同所述两个统一资源 定位符一起提供给所述搜索引擎,从而所述搜索引擎无需执行所述 客户端脚本就能得到上述内容。如前所述,在步骤S360-S380,还可以是这样,即构造分别包括 生成的所述内容的第一部分和第一部分、第二部分的两个新网页,生成分别指向所构造的分别包括生成的所述内容的第一部分和第一 部分、第二部分的两个新网页的一个的两个统一资源定位符,以及把所构造的分别包括生成的所述内容的第一部分和第一部分、第二 部分的两个新网页连同所述两个统一 资源定位符 一起提供给所述搜 索引擎,从而所述搜索引擎无需执行所述客户端脚本就能得到上述 内容。换句话说,在构造步骤S360中,构造只包括其生成不需要与用 户的交互相关的参数的内容的第 一 部分的新网页和构造不仅包括其 生成不需要与用户的交互相关的参数的内容的第一部分,并且还包 括其生成需要与用户的交互相关的参数的内容的第二部分的新网 页。并且,可以通过把指向所构造的包括生成的所述内容第一部分和 第二部分的新网页的统一资源定位符放在所构造的包括生成的所述内容的第一部分的新网页中,来向搜索引擎提供所构造的包括生成 的所述内容的新网页。图4示出了根据本发明的另 一个实施方式的信息提供方法的示 意流程图。该示意流程图中的步骤例如由插件1—60执行。 首先,从客户端接收请求(步骤S410),然后流程进行到步骤 S420。在步骤S420,判断所述客户端是否是搜索引擎。当判定该客户端是搜索引擎时(步骤S420的"是,,分支),流 程进行到步骤S430,以开始如参考图3所描述的步骤S340-S380。当判定客户端不是搜索引擎时(步骤S420的"否"分支),流 程进行到步骤S440。在步骤S440,判断所述请求的统一资源定位符是否源自于搜索 引擎。当判定所述请求的统一资源定位符不是源自于搜索引擎时(步骤 S440的"否,,分支),流程进行到步骤S450。在该步骤S450,把 请求重定向到web应用,由web应用直接处理该请求。当判定所述请求的统一资源定位符是源自于搜索引擎时,流程进行到步骤S460。在步骤S460,判断所述请求的统一资源定位符是否是常规可访 问的统一资源定位符。当判定所述请求的统 一 资源定位符是常规可访问的统 一 资源定 位符时,流程进行到步骤S470,在该步骤S470,把该请求重定向到 web应用,由web应用直接向该客户端提供与该统一资源定位符相 对应的网页。当判定所述请求的统 一 资源定位符不是常规可访问的统 一 资源 定位符时,流程进行到步骤S480。在该步骤S480,根据所述统一资 源定位符,取回或构造相应的网页,其中所述网页包括执行客户端 脚本生成的内容。在存储库170中存储上述新网页和指向其的统一资源定位符的 情况下,根据上述请求的统一资源定位符,从存储库170中取回相 应的网页。在存储库170中没有存储上述新网页和指向其的统一资源定位 符的情况下,根据上述请求的统一资源定位符,构造相应的网页。然后,流程进行到步骤S490。在该步骤S490,将所述网页提供 给所述客户端。图5示出了根据本发明的一个实施方式的信息提供设备500的示 意框图。该信息提供设备500用于使搜索引擎能够搜索到执行客户端脚 本生成的内容。该信息提供设备500例如是安装在服务器上的插件。 该信息提供设备500包括判断装置510,用于判断请求包括所述 客户端脚本的网页的客户端是否是搜索引擎;取回装置520,用于当 判断装置510判定请求包括所述客户端脚本的网页的客户端是搜索 引擎时,取回所述网页(初始网页);执行装置530,用于执行所述 客户端脚本以生成所述内容;构造装置540,用于构造包括生成的所 述内容的新网页;生成装置550,用于生成指向所构造的包括生成的所述内容的新网页的统一资源定位符;以及提供装置570,用于把所 构造的包括生成的所述内容的新网页连同所述统一资源定位符一起 提供给所述搜索引擎,从而所述搜索引擎无需执行所述客户端脚本 就能得到上述内容。所述信息提供设备500还可以包括存储装置 560,用于在存储库中存储所构造的包括生成的所述内容的新网页和 所述生成的指向所构造的包括生成的所述内容的新网页的统一资源 定位符。如前所述,所述内容的生成可以不需要与用户的交互相关的参 数,所述内容的生成也可以需要与用户的交互相关的参数。更进一步地,所述内容包括多个部分,每个部分使用单个参数或 多个参数的有序排列生成。此时构造装置540构造分别包括生成的 所述内容的多个部分的一个的多个新网页,生成装置550生成分别 指向所构造的分別包括生成的所述内容的多个部分的 一 个的多个新 网页一个的多个统一资源定位符,以及提供装置570把所构造的分 别包括生成的所述内容的多个部分的一个的多个新网页连同所述多 个统一资源定位符一起提供给所述搜索引擎,从而所述搜索引擎无 需执行所述客户端脚本就能得到上述内容。如前所述,也可以是这样,即构造装置540只构造包括生成的所 述内容的多个部分的单个新网页,生成装置550生成指向所构造的 包括生成的所述内容的多个部分的单个新网页的单个统一资源定位 符,以及提供装置570把所构造的包括生成的所述内容的多个部分 的单个新网页连同所述单个统一资源定位符一起提供给所述搜索亏1擎,从而所述搜索引擎无需执行所述客户端脚本就能得到上述内容。 换句话说,构造装置540在得到各内容部分后,才构造包括各内容 部分的单个新网页。如前所述,所述内容包括两个部分,其中第一部分的生成不需要 与用户的交互相关的参数,而所述内容的第二部分的生成需要与用 户的交互相关的参数。因此,可以是这样,即构造装置540构造分别包括生成的所述内容的第一部分和第二部分的两个新网页,生成装置550生成分别指 向所构造的分别包括生成的所述内容的第一部分和第二部分的两个 新网页的一个的两个统一资源定位符,以及提供装置570把所构造 的分別包括生成的所述内容的第一部分和第二部分的两个新网页连 同所述两个统一资源定位符一起提供给所述搜索引擎,从而所述搜 索引擎无需执行所述客户端脚本就能得到上述内容。如前所述,还可以是这样,即构造装置540构造分别包括生成的 所述内容的第一部分和第一部分、第二部分的两个新网页,生成装 置550生成分别指向所构造的分别包括生成的所述内容的第一部分 和第一部分、第二部分的两个新网页的一个的两个统一资源定位符, 以及提供装置570把所构造的分别包括生成的所述内容的第一部分 和第 一部分、第二部分的两个新网页连同所述两个统一 资源定位符 一起提供给所述搜索引擎,从而所述搜索引擎无需执行所述客户端 脚本就能得到上述内容。换句话说,构造装置540构造只包括其生 成不需要与用户的交互相关的参数的内容的第一部分的新网页和构 造不仅包括其生成不需要与用户的交互相关的参数的内容的第一部 分,并且还包括其生成需要与用户的交互相关的参数的内容的第二 部分的新网页。并且,可以通过把指向所构造的包括生成的第一部分、第二部分 的新网页的统 一 资源定位符放在所构造的包括生成的所述内容的第 一部分的新网页中,来向搜索引擎提供所构造的包括生成的第 一部 分、第二部分的新网页。图6示出了根据本发明的另一实施方式的信息提供设备600的示 意框图。该信息提供设备600例如是安装在服务器上的插件。 该信息提供设备600用于响应来自客户端的请求。 该设备600包括第一判断装置610,用于判断所述客户端是否是 搜索引擎;第二判断装置620,用于在所述第一判断装置610判定所 述客户端不是搜索引擎时,判断所述请求的统一资源定位符是否源自于搜索引擎;第三判断装置630,用于在所述第二判断装置620 判定所述请求的统一资源定位符源自于搜索引擎时,判断所述请求 的统一资源定位符是否是常规可访问的统一资源定位符;取回装置 或构造装置640,用于在所述第三判断装置630判定所述请求的统一 资源定位符不是常规可访问的统一资源定位符时,根据所述统一资 源定位符,取回或构造相应的网页,其中所述网页包括执行客户端 脚本生成的内容;以及提供装置650,用于将所述网页提供给所述客 户端。应当注意,为了使本发明更容易理解,上面的描述省略了对于本 领域的技术人员来说是公知的、并且对于本发明的实现可能是必需 的更具体的一些技术细节。提供本发明的说明书的目的是为了说明和描述,而不是用来穷举 或将本发明限制为所公开的形式。对本领域的普通技术人员而言, 许多修改和变更都是显而易见的。例如,在本发明的目的是由web应用本身实现的情况下,也就 是说,插件160的功能集成在web应用150中的情况下,在图3中 的重定向请求步骤S330可以是直接处理请求步骤,并且可以不需要 取回网页步骤S340;在图4中的重定向请求步骤S450和S470可以 是直接处理请求步骤;以及在图5所示的信息提供设备中,可以没 有取回装置520。又例如,插件160并不需要一定安装在服务器IIO上,相反地, 插件160可以安装在服务器IIO与搜索引擎130之间的任何设备(例 如路由器、网关)上。换句话说,只要该插件160不位于搜索引擎 130上即可。当插件160在路由器上时,它所执行的步骤与它在服务器110 上是相同的。更具体地,在插件160在路由器上的情况下,当插件 160接收到来自客户端的连接请求时,判断请求包括客户端脚本的初 始网页的客户端是否是搜索引擎。在客户端是搜索引擎的情况下, 插件160从服务器IIO取回所述初始网页,^M亍所述初始网页中的所述客户端脚本以生成相应内容。然后,插件160构造包括所述内 容的新网页,生成指向所述新网页的统一资源定位符,以及把所述 新网页连同所述统一 资源定位符一起提供给所述搜索引擎。在客户端不是搜索引擎的情况下,插件160将所述请求转发到服 务器110。因此,选择并描述实施方式是为了更好地解释本发明的原理及其 实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的 前提下,所有修改和变更均落入由权利要求所限定的本发明的保护 范围之内。
权利要求
1.一种信息提供方法,包括步骤判定请求包括客户端脚本的初始网页的客户端是搜索引擎;执行所述客户端脚本以生成相应内容;构造包括所述内容的新网页;生成指向所述新网页的统一资源定位符;以及把所述新网页连同所述统一资源定位符一起提供给所述搜索引擎。
2. 根据权利要求1所述的方法,还包括步骤 存储所述新网页和所述统一 资源定位符。
3. 根据权利要求1所述的方法,在执行所述客户端脚本以生成 相应内容的步骤之前,还包括步骤取回所述初始网页。
4. 根据权利要求1所述的方法,其中所述内容的生成不需要与 用户的交互相关的参数。
5. 根据权利要求1所述的方法,其中所述内容的生成需要与用 户的交互相关的参数。
6. 根据权利要求5所述的方法,其中所述内容包括多个部分, 每个部分使用单个参数或多个参数的有序排列生成,以及在所述构 造步骤,构造分别包括所述多个部分的一个的多个新网页,在所述 生成步骤,生成分别指向所述多个新网页的一个的多个统一资源定 位符,在所述提供步骤,将所述多个新网页和所述多个统一资源定 位符一起提供给所述搜索引擎。
7. 根据权利要求1所述的方法,其中所述内容包括两个部分, 其中第一部分的生成不需要与用户的交互相关的参数,而第二部分 的生成需要与用户的交互相关的参数,并且在所述构造步骤中构造两个新网页,其中 一个新网页包括所述第 一部分,另一个新网页包括所述第一部分和第二部分,并且在所述生成步骤中生成两个统一资源定位符,分别指向所述两个新网页, 在所述提供步骤,将所述两个新网页和两个统一资源定位符一起提 供给所述搜索引擎。
8. 根据权利要求1所述的方法,其中所述新网页还包括所述初 始网页中不需要执行客户端脚本而生成的内容。
9. 一种信息提供设备,包括判断装置,用于判断请求包括客户端脚本的初始网页的客户端是 否是搜索引擎;执行装置,用于当判断装置判定请求包括客户端脚本的初始网页 的客户端是搜索引擎时,执行所述客户端脚本以生成相应内容;构造装置,用于构造包括所述内容的新网页;生成装置,用于生成指向所述新网页的统一资源定位符;以及提供装置,用于把所述新网页连同所述统一资源定位符一起提供 给所述搜索引擎。
10. 根据权利要求9所述的设备,还包括存储装置,用于在存储库中存储所述新网页和所述统一资源定位付。
11. 根据权利要求9所述的设备,还包括取回装置,用于当判断装置判定请求包括客户端脚本的初始网页 的客户端是搜索引擎时,耳又回所述初始网页,并且把所述初始网页 提供给所述执行装置。
12. 根据权利要求9所述的设备,其中所述内容的生成不需要与 用户的交互相关的参数。
13. 根据权利要求9所述的设备,其中所述内容的生成需要与用 户的交互相关的参数。
14. 根据权利要求13所述的设备,其中所述内容包括多个部分, 每个部分使用单个参数或多个参数的有序排列生成,以及所述构造 装置构造分别包括所述多个部分的一个的多个新网页,所述生成装 置生成分别指向所述多个新网页的 一 个的多个统 一 资源定位符,所述提供装置将所述多个新网页和所述多个统一资源定位符一起提供 给所述搜索引擎。
15. 根据权利要求9所述的设备,其中所述内容包括两个部分, 其中第一部分的生成不需要与用户的交互相关的参数,而第二部分的生成需要与用户的交互相关的参数,并且所述构造装置构造两个新网页,其中 一个新网页包括所述第 一部 分,另一个新网页包括所述第一部分和第二部分,并且所述生成装 置生成两个统一资源定位符,分别指向所述两个新网页,所述提供 装置将所述两个新网页和两个统一资源定位符一起提供给所述搜索 引擎。
16. 根据权利要求9所述的设备,其中所述新网页还包括所述初 始网页中的静态内容。
17. —种信息提供方法,包括步骤 判定请求信息的客户端不是搜索引擎;判定所述请求的统 一 资源定位符源自于搜索引擎; 判定所述请求的统 一 资源定位符不是常规可访问的统 一 资源定 位符;根据所述统一资源定位符,取回或构造相应的网页,其中所述网 页包括执行客户端脚本生成的内容;以及 将所述网页提供给所述客户端。
18. —种信息提供设备,包括第 一判断装置,用于判断请求信息的客户端是否是搜索引擎; 第二判断装置,用于在所述第一判断装置判定所述客户端不是搜索引擎时,判断所述请求的统 一 资源定位符是否源自于搜索引擎; 第三判断装置,用于在所述第二判断装置判定所述请求的统一资源定位符源自于搜索引擎时,判断所述请求的统 一 资源定位符是否是常规可访问的统一 资源定位符;取回装置或构造装置,用于在所述第三判断装置判定所述请求的统 一 资源定位符不是常规可访问的统 一 资源定位符时,根据所述统一资源定位符,取回或构造相应的网页,其中所述网页包括执行客 户端脚本生成的内容;以及提供装置,用于将所述网页提供给所述客户端。
全文摘要
本发明提出了一种使搜索引擎能够搜索到执行客户端脚本生成的内容的方案。首先,web应用或插件判断请求包括客户端脚本的初始网页的客户端是否是搜索引擎。在客户端是搜索引擎的情况下,执行所述客户端脚本以生成相应内容。然后,构造包括所述内容的新网页,生成指向所述新网页的统一资源定位符,以及把所述新网页连同所述统一资源定位符一起提供给所述搜索引擎。这样,搜索引擎无需执行所述客户端脚本就能得到上述内容。
文档编号G06F17/30GK101334779SQ20071012687
公开日2008年12月31日 申请日期2007年6月29日 优先权日2007年6月29日
发明者伟 孙, 阔 张, 轶 惠, 中 苏 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1