web网站的访问方法、装置及Web网站系统与流程

文档序号:12185345阅读:463来源:国知局
web网站的访问方法、装置及Web网站系统与流程

本发明涉及IT技术领域,尤其涉及web网站的访问方法、装置及Web网站系统。



背景技术:

万维网(World Wide Web,WWW)起源于1989年,采用的是浏览器-服务器结构。通过万维网,用户使用Web浏览器即可访问web服务器上提供的丰富的信息资源。一般来说,web服务器上的文件存储在web服务器的文件系统中,web服务器通过统一资源定位符(Uniform Resoure Locator,URL)和文件名对应的组织结构把从web浏览器接收到的URL映射到本地文件系统中的文件。例如,在网站“example.funnycorp.com”的web服务器上设置了服务器软件,并把web服务器软件的根目录设置为“/home/public/web/”,当用户在web浏览器上输入URL http://example.funnycorp.com/lips/raspberry.html后,web浏览器向web服务器发送超文本传输协议(HyperText Transfer Protocol,HTTP)请求,“example.funnycorp.com”上的web服务器接收该HTTP请求并读取“/home/public/web/lips/raspberry.html”这个文件,将该文件携带在HTTP响应中返回给所述web浏览器。HTTP响应一般包含一个超文本标记语言(HyperText Markup Language,HTML)文件,有时也可以包含纯文本文件、图像或其他类型的文件。web浏览器下载静态资源文件后,会把下载到的静态资源文件缓存到本地临时文件夹中,当需要再次访问该web网站时,浏览器无需从web网站对应的web服务器中重复下载已有的静态资源文件,而是直接从缓存中读取静态资源文件,达到加速网站访问的目的。但web服务器中的文件可能会随着web网站的更新而更新,那么需要有一种机制来保证浏览器访问web网站时能获取到最新的文件。

现有技术提供了一种基于文件内容hash的文件更新机制,来保证web页面的动态更新。具体的,web服务器中存储的文件对应的URL为绝对路径,例如,logo.gif文件的绝对路径的形式是“/目录/子目录/…/logo.gif”。web网站升级时,若logo.gif文件发生更新,则文件名变更为logo_hashcode.gif,其中,hashcode是基于logo.gif文件内容来计算的hash值。每当文件内容发生改变时,hashcode都会被重新计算,则随之绝对路径变化为“/目录/子目录/…/logo_hashcode.gif”,用户浏览器即可从该绝对路径获取最新的logo.gif文件。采用这种方式,实现了web页面中的文件的动态更新。

但是,web服务器中的文件存在相互引用关系,当其他的文件引用了logo.gif时,logo.gif的文件名发生改变会带来引用logo.gif的文件的文件内容也发生变化,从而使得需要根据变化后的文件内容重新计算引用了logo.gif的文件的hashcode。举例来说,a.js文件中引用了logo.gif,当logo.gif发生改变后,文件名称变更为logo_hashcode.gif,此时,a.js文件的文件内容随之发生变化,则文件名称变更为a_hashcode.js。因此,在该现有技术中,当web服务器中的一个文件发生更新时,会导致所有依赖该文件的文件都随之更新,从而引起海量文件的更新,提高了web网站升级风险。



技术实现要素:

本文描述了一种web网站的访问方法、装置及Web网站系统,以降低web网站升级风险,提高web网站升级效率。

一方面,本申请的实施例提供了一种web网站的访问方法,接收来自客户端的访问请求,所述访问请求指示web网站的待访问页面;获取所述待访问页面包含的内容文件的初始统一资源定位符URL,所述初始URL包括所述内容文件的原始路径信息;获取所述web网站的当前版本的版本参数,所述web网站的每个版本对应于所述web网站的每次升级,所述web网站的每个版本对应唯一的版本参数;根据所述内容文件的初始URL和所述web网站的当前版本的版本参数,生成所述内容文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数;向所述客户端返回访问响应,所述访问响应携带所述内容文件的当前URL。

通过上述方式,当客户端访问web网站的页面时,web服务器获取待访问页面包含的内容文件的初始URL以及web网站的当前版本的版本参数,生成所述内容文件的当前URL,在所述内容文件的当前URL的查询部分添加所述版本参数,从而使得客户端可以根据所述当前URL从web服务器获取内容文件。因此,在本发明实施例中,当web服务器收到客户端的访问请求时,在返回给客户端的内容文件的当前URL的查询部分添加版本参数,因此,在web网站版本升级时,内容文件发生更新,开发人员无需改变内容文件的路径,无需手动更改内容文件的URL,也无需更新内容文件的命名,从而提高了网站升级的效率。具体的,一方面,由于web网站升级过程中无需更改内容文件的文件名,因此不会对引用了该内容文件的其他文件造成影响,引用了该内容文件的其他文件的文件名也无需更改,从而避免对网站的海量文件进行全量升级,降低了升级风险;另一方面,在上述web网站的升级过程中,无需修改内容文件的路径,因此,开发人员不需要重新编写内容文件的路径,降低了开发成本。

在一种可能的设计中,web网站系统还包括管理服务器,该管理服务器在接收到web服务器发送的版本查询请求时,根据所述版本查询请求携带的所述web网站的标识,查询到所述版本参数,并返回给所述web服务器。所述管理服务器记录有web网站的标识,所述标识可以为web网站的key ID。所述管理服务器还记录有web网站当前的版本号以及根据该版本号生成的版本参数。

在一种可能的设计中,管理服务器的功能可以以管理模块的形式在web服务器中实现,此时,web服务器获取所述web网站的当前版本的版本号,根据所述版本号生成所述版本参数;

在一种可能的设计中,web服务器将所述web网站的当前版本的版本号作为所述版本参数。

在一种可能的设计中,管理服务器可以采用如下任意一种方式配置web网站的版本号:方式一,当web网站进行版本升级时,web服务器可以将升级后的web网站的版本号写入版本描述文件,所述管理服务器从所述版本描述文件中提取所述web网站最新的版本号;方式二,运维人员对web网站进行升级,在完成升级后,将web网站最新的版本号通过管理服务器的接口写入到管理服务器上;方式三,web网站还可以采用升级脚本文件进行升级,所述web网站还包括升级管理模块,所述升级管理模块执行升级脚本文件,在完成web网站升级,更新所述web网站的内容文件后,调用所述管理服务器的接口,在所述管理服务器上配置所述web网站的版本号;方式四,web网站系统的配置管理工具可以监控web服务器,当发现所述web网站发生版本更新后,从版本库中读取更新后的web网站的版本号,并调用所述管理服务器的接口,在所述管理服务器上配置更新后的所述web网站的版本号。本申请给出了上述四种方式,使得管理服务器可以及时获取web网站最新的版本号,从而可以生成最新版本号对应的版本参数。

在一种可能的设计中,管理服务器的功能以管理模块的形式在web服务器上实现,此时,web服务器可以与上述方式类似的方法获取web网站的版本号,生成web网站当前版本的版本参数:方式一、获取所述web网站的版本描述文件,从所述版本描述文件中读取所述web网站的当前版本的版本号;方式二、接收运维人员通过管理接口写入的所述web网站的当前版本的版本号;方式三、执行升级脚本文件,在完成web网站升级后,配置所述web网站的当前版本的版本号;方式四、监控所述web网站的版本升级过程,当确定所述web网站的版本升级完成后,从版本库中读取所述web网站的当前版本的版本号。

在一种可能的设计中,所述内容文件的初始URL携带在索引文件中,web服务器将所述索引文件包含的所述内容文件的初始URL替换为生成的所述当前URL,将更新后的所述索引文件携带在所述访问响应中。

在一种可能的设计中,所述客户端侧缓存有所述客户端在先访问所述web网站时存储的内容文件的文件名和版本参数。缓存的位置可以是客户端或者客户端可以连接的其他存储设备。所述客户端查询已缓存的内容文件的文件名和版本参数,确定是否缓存了所述待访问页面中包含的所述内容文件,如果是,则直接读取缓存的所述内容文件,如果否,则向web服务器发起文件请求消息,从web服务器获取所述内容文件。通过缓存的设置,在浏览器客户端再次访问该web网站时,如果待访问的页面包含的内容文件已经存储在缓存中,则无需重复从web服务器获取,提供了web网站的访问效率。

在一种可能的设计中,web服务器可以控制浏览器客户端侧内容文件的缓存属性,具体的,web服务器在所述访问响应中携带缓存设置参数,用于指示所述浏览器客户端侧是否需要缓存内容文件以及缓存时长。

在一种可能的设计中,所述web服务器判断所述访问响应中携带的所述索引文件的文件类型,根据所述索引文件的文件类型确定所述索引文件中是否包含内容文件的初始URL。具体的,当所述文件类型为css文件或者html文件时,索引文件包含内容文件的初始URL。

在一种可能的设计中,浏览器客户端可能支持AJAX技术,可以通过异步数据传输的方式从web服务器获取内容文件。此时,所述访问响应的cookie中携带所述web网站的当前版本的版本参数。客户端优选地从cookie中读取所述版本参数,在客户端生成的内容文件的请求地址中添加该版本参数,从web服务器获取内容文件。

另一方面,本发明实施例提供了另一种web网站的访问方法,该方法由代理服务器执行,通过拦截web服务器返回的访问响应,刷新该访问响应中携带的内容文件的URL。具体的,该方法包括:拦截web服务器的第一访问响应,所述第一访问响应是所述web服务器接收到来自客户端的访问请求之后发出的,所述访问请求指示web网站的待访问页面,所述第一访问响应携带所述待访问页面包含的内容文件的初始URL,所述初始URL包括所述内容文件的原始路径信息;获取所述web网站的当前版本的版本参数,所述web网站的每个版本对应于所述web网站的每次升级,所述web网站的每个版本对应唯一的版本参数;根据所述内容文件的初始URL和所述web网站的当前版本的版本参数,生成所述内容文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数;向所述客户端返回第二访问响应,所述第二访问响应携带所述内容文件的当前URL。

本发明实施例提供的上述web网站的访问方法中,代理服务器截获web服务器返回的访问响应,在访问响应包含的内容文件的URL的查询部分添加web网站的当前版本的版本参数,从而使得客户端可以根据所述当前URL从web服务器获取内容文件。在web网站版本升级时,开发人员无需改变内容文件的路径,无需手动更改内容文件的URL,也无需更新内容文件的命名,从而提高了网站升级的效率。一方面,由于web网站升级过程中无需更改内容文件的文件名,因此不会对引用了该内容文件的其他文件造成影响,引用了该内容文件的其他文件的文件名也无需更改,从而避免对网站的海量文件进行全量升级,降低了升级风险;另一方面,在上述web网站的升级过程中,无需修改内容文件的路径,因此,开发人员不需要重新编写内容文件的路径,降低了开发成本。

在一种可能的设计中,web网站系统还包括管理服务器,该管理服务器在接收到代理服务器发送的版本查询请求时,根据所述版本查询请求携带的所述web网站的标识,查询到所述版本参数,并返回给所述代理服务器。所述管理服务器记录有web网站的标识,所述标识可以为web网站的key ID。所述管理服务器还记录有web网站当前的版本号以及根据该版本号生成的版本参数。

在一种可能的设计中,管理服务器的功能可以以管理模块的形式在代理服务器中实现。此时,代理服务器获取所述web网站的当前版本的版本号,根据所述版本号生成所述版本参数;

在一种可能的设计中,代理服务器将所述web网站的当前版本的版本号作为所述版本参数。

在一种可能的设计中,代理服务器可以采用如下任意一种方式获取web网站的当前版本的版本号:方式一、获取所述web网站的版本描述文件,从所述版本描述文件中读取所述web网站的当前版本的版本号;方式二、接收运维人员通过管理接口写入的所述web网站的当前版本的版本号;方式三、执行升级脚本文件,在完成web网站升级后,配置所述web网站的当前版本的版本号;方式四、监控所述web网站的版本升级过程,当确定所述web网站的版本升级完成后,从版本库中读取所述web网站的当前版本的版本号。

在一种可能的设计中,所述内容文件的初始URL携带在web服务器返回的第一访问响应中的索引文件中,代理服务器将所述索引文件包含的所述内容文件的初始URL替换为生成的所述当前URL,将更新后的所述索引文件携带在发送给客户端的所述第二访问响应中。

在一种可能的设计中,所述第二访问响应中包括缓存设置参数,用于指示所述客户端是否需要缓存内容文件以及缓存时长。

在一种可能的设计中,所述代理服务器还可以判断所述第一访问响应中的所述待访问页面对应的索引文件的文件类型,根据所述索引文件的文件类型确定所述索引文件中是否包含所述内容文件的初始URL。当所述索引文件的文件类型为css文件或者html文件时,索引文件包含内容文件的初始URL。

在一种可能的设计中,浏览器客户端可能支持AJAX技术,可以通过异步数据传输的方式从web服务器获取内容文件。此时,所述第二访问响应的cookie中携带所述web网站的当前版本的版本参数。

在一种可能的设计中,代理服务器的功能可以集成在现有的nginx或haproxy中。进一步的,代理服务器可以与管理服务器或者web服务器合并在一个物理服务器上实现。当代理服务器与其他服务器合设时,代理服务器可以为其中的一个功能模块。

再一方面,本发明实施例还提供了另一种web网站的访问方法,该方法由客户端执行,向web服务器发送访问请求,所述访问请求指示web网站的待访问页面;接收返回的访问响应,所述访问响应中携带所带访问页面包含的内容文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数;向所述web服务器发送文件请求消息,以获取所述内容文件,所述文件请求消息携带所述内容文件的当前URL。

客户端访问web网站的页面,web服务器返回的访问请求中携带的待访问页面的内容文件的当前URL的查询部分包括web网站的版本参数,客户端即可根据该当前URL从web服务器获得最新的内容文件。

在一种可能的设计中,客户端会对接收到的内容文件进行缓存,具体的,存储在先访问所述web网站时获取的内容文件的文件名和版本参数。当客户端访问web网站时,根据接收到的内容文件的当前URL中的文件名和版本参数,确定本地是否缓存有该内容文件,如果有,则无需从web服务器获取。更进一步的,客户端可以直接存储接收到的内容文件的当前URL,而无需区分版本参数,当需要进行内容文件的查询时,直接用待获取的URL与已存储的URL进行对比,确定本地是否已经缓存待获取的URL对应的内容文件。

客户端会对在先访问时接收到的内容文件进行缓存,记录内容文件的文件名和版本参数。当客户端客户端访问web网站的页面,接收到待访问页面包含的内容文件的URL后,会确定本地是否已保存有该URL对应的内容文件。当web网站升级后,web网站的当前版本的版本参数发生变化,此时,客户端接收到的内容文件的URL中的版本参与本地缓存的内容文件的版本参数不同,客户端需要重新从web网站下载网站升级后的内容文件。通过上述流程,解决了当web网站升级后,客户端侧内容文件缓存更新的问题。

在一种可能的设计中,所述访问响应的cookie中携带所述版本参数,所述当前URL包括第一JS文件的URL,相应地,所述方法还包括:客户端从所述cookie中获取版本参数,执行所述第一JS文件,创建XmlHttpRequest对象,所述XmlHttpRequest对象中的目的URL包含第二JS文件的原始地址信息以及所述版本参数,所述XmlHttpRequest对象用于向web服务器获取所述第二JS文件,所述第二JS文件被所述第一JS文件引用。通过上述方式,当使用AJAX技术时,如果web网站系统侧返回的索引文件中包含的第一JS文件引用了第二JS文件,客户端需要构建XmlHttpRequest对象,从web服务器重新获取第二JS文件。

另一方面,本发明实施例提供了一种web服务器,该web服务器具体实现上述方法中web服务器的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

另一方面,本发明实施例提供了一种代理服务器,该代理服务器具体实现上述方法中代理服务器的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

又一方面,本发明实施例提供了一种客户端,该客户端具体实现上述方法中客户端的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,上述web服务器、代理服务器以及客户端可以由硬件装置实现,具体包括处理器和存储器,所述处理器被配置为支持web服务器、代理服务器以及客户端执行上述方法中相应的功能。所述web服务器、代理服务器以及客户端还可以包括存储器,所述存储器用于与处理器耦合,其保存处理器执行上述功能所必要的程序指令和数据。

再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述web服务器所用的计算机软件指令,其包含用于执行上述各方面所设计的程序。

再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述代理服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述客户端所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

相较于现有技术,本申请提供的web网站的访问方法、装置和web网站系统,在web网站版本升级时,开发人员无需手动更新内容文件的URL,也无需关注内容文件的命名和更新,提高了网站升级的效率;进一步的,部分内容文件的更新,不会蔓延到其他文件,从而无需对网站进行全量升级,降低了升级风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面附图中反映的仅仅是本发明的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得本发明的其他实施方式。而所有这些实施例或实施方式都在本发明的保护范围之内。

图1A为实现本发明的一种可能的系统结构示意图;

图1B为实现本发明的另一种可能的系统结构示意图;

图1C为实现本发明的再一种可能的系统结构示意图;

图2为所示为本发明实施例提供的计算机设备示意图;

图3为本发明实施例提供的一种浏览器客户端访问web服务器的方法流程示意图;

图4为本发明实施例提供的一种web服务器的结构示意图;

图5为本发明实施例提供的一种代理服务器的结构示意图;

图6为本发明实施例提供的一种浏览器客户端的结构示意图;

图7为本发明实施例提供的一种web网站系统的结构示意图。

具体实施方式

下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

在本发明实施例中,web服务器用来部署web应用程序以及存储资源文件,多台web服务器可以组成web服务器集群承载web网站。存储在web服务器上的文件一般被称为资源文件,包括应用程序特定的配置文件、网页模板等等,应用程序代码可以通过文件系统来访问这些文件。本发明实施例中提到的内容文件通常是托管在WEB服务器上的静态资源文件,静态资源文件对于所有用户来说是一致,在应用程序运行时一般不会发生变化的。内容文件可以包括web网站的媒体文件(如图片)、用于描述如何在屏幕上绘制网页的层叠样式表单(Cascading Style Sheet,css)文件、能够被浏览器下载和执行的JavaScript代码,以及不含动态内容的HTML页面等等。当接收到HTTP请求时,Web服务器将HTTP请求对应的html以及该html引用的内容文件的地址返回给客户端。

在一种可能的实现方式中,web网站的部署进程和前端都需要知道应用程序的哪些文件是静态资源文件,部署进程会将静态资源文件发送到web服务器,而前端则会记住静态资源文件的URL路径,以使得前端可以把静态资源文件的URL路径上的请求路由到适当的web服务器上去。在本发明实施例中,代理服务器可以实现该前端的功能。

本发明实施例主要涉及到以下部件:客户端:其上运行有web浏览器,因此,客户端又可以被称为浏览器客户端。浏览器客户端通过网络与系统侧的代理服务器和web服务器相连,浏览器客户端用于发起HTTP请求。本申请所涉及到的客户端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到各类网络的其它处理设备,以及各种形式的客户端,移动台(Mobile station,简称MS),终端(terminal),终端设备(Terminal Equipment)等等。为方便描述,本申请中,上面提到的设备统称为客户端。

web服务器:用于部署web应用程序和存储内容文件(即静态资源文件),web服务器与管理服务器和代理服务器相连。web服务器可以为一台或多台,多台web服务器组成web服务器集群。代理服务器在接收到浏览器客户端发送的访问请求时,可以进行负载均衡,从web服务器集群中选择合适的web服务器为所述浏览器客户端提供服务。

代理模块:代理模块可以以插件的形式实现内容文件的版本参数查询、内容文件的URL更新,可选的,代理模块还可以对web服务器发出的访问响应中的cookie内容进行更新。在一个示例中,代理模块可以与管理模块相连,从管理模块获取web网站的当前版本的版本参数。

管理模块:用于提供对web网站的版本管理以及版本参数的生成等功能,版本参数生成功能可以由管理模块中的版本参数生成器实现,版本参数用来表示web网站的当前版本,可以是任意格式、任意形态,只要能唯一标识出web网站的版本即可。具体的版本参数可以直接采用web网站的版本号,或者根据web网站的版本号生成随机码,将所述随机码作为web网站的当前版本的版本参数,本发明实施例对版本参数的具体形式并不进行限定。管理模块保存web网站的当前版本的版本号,在接收到代理模块发送的文件查询请求时,返回该web网站当前版本对应的版本参数。Web网站升级时,管理模块通过各种方式获取web网站当前的版本号。管理模块中记录有Web网站的标识,web网站的标识与web网站一一对应,可以用来唯一标识一个web网站。所述web网站的每个版本对应于所述web网站的每次升级,所述web网站的每个版本对应唯一的版本参数;

上述代理模块和管理模块可以以功能模块的形式在web服务器中实现,也可以在单独的物理服务器上实现。当代理模块由独立的物理服务器的形式实现时,可以被称为代理服务器。当管理模块由独立的物理服务器的形式实现时,可以被称为管理服务器。本发明实施例重点关注代理模块和管理模块实现的功能,本领域技术人员可以理解的是,代理模块和管理模块的功能可以在其他的服务器上实现,本发明实施例对此并不进行限定。在一种示例中,代理服务器部署在web服务器前端,可以作为处理针对web服务器的HTTP请求的负载均衡器。上述代理服务器的功能可以集成在现有的nginx或haproxy中。

如图1A所示,为本发明实施例提供的web网站系统结构示意图,客户端通过网络接入web服务器,客户端上安装有web浏览器,代理服务器位于客户端与web服务器之间,管理服务器用来管理web网站的版本信息。此时,web服务器、代理服务器和管理服务器分别在不同的物理服务器上。如图1B所示,为本发明实施例提供的另一种web网站系统结构示意图,此时,代理服务器以代理模块的形式与web服务器集群中的一个合设。如图1C所示,为本发明实施例提供的再一种web网站系统结构示意图,管理服务器以管理模块的形式与代理服务器合设。需要说明的是,本发明实施例并不严格限定web网站系统的具体的硬件实现形式,系统中的各部件可以实现本发明实施例中对应的功能即可。

图2所示为本发明实施例提供的计算机设备示意图。计算机设备200包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。

处理器201可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线202可包括一通路,在上述组件之间传送信息。所述通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。

存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器203用于存储执行本发明方案的应用程序代码,并由处理器201来控制执行。所述处理器201用于执行所述存储器203中存储的应用程序代码。

在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。

在具体实现中,作为一种实施例,计算机设备200可以包括多个处理器,例如图2中的处理器201和处理器208。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备200可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定计算机设备200的类型。

如图1A、1B和1C中的web服务器、代理服务器、管理服务器以及客户端可以为图2所示的设备,存储器中存储了一个或多个软件模块,用于实现web服务器、管理服务器以及客户端的功能(例如:管理服务器中的web网站版本管理功能以及版本参数生成功能等)。web服务器、代理服务器、管理服务器以及客户端可以通过处理器以及存储器中的程序代码来实现浏览器客户端访问web服务器的方法。

需要说明的是,图2所示的计算机设备仅仅是给出了web网站系统中各部分的可能的硬件实现方式,根据系统各部分功能的不同或者变化,可以对计算机设备的硬件组件进行增删,以使得与系统各部分的功能进行匹配。

在上述web网站系统中,web服务器中存储有web网站的静态资源文件,代理服务器拦截web服务器返回给浏览器客户端的访问响应,将与web网站当前的版本号对应的版本参数加入到待访问页面中包含的静态资源文件的当前URL中,所述代理服务器将所述当前URL返回给浏览器客户端。通过本申请提供的方案,浏览器客户端即可根据所述当前URL从web服务器获取静态资源文件。在web网站版本升级时,开发人员无需改变静态资源文件的路径,无需手动更新资源文件的URL,也无需更新静态资源文件的命名,从而提高了网站升级的效率。一方面,由于web网站升级过程中无需更改静态资源文件的文件名,因此不会对引用了该静态资源文件的其他文件造成影响,引用了该静态资源文件的其他文件的文件名也无需更改,从而避免对网站的海量文件进行全量升级,降低了升级风险;另一方面,在上述web网站的升级过程中,无需修改静态资源文件的路径,因此,开发人员不需要重新编写静态资源文件的路径,降低了开发成本。

如图3所示,为本发明实施例提供的一种浏览器客户端访问web服务器的方法流程示意图,包括:

步骤301:更新web网站的静态资源文件。

升级Web网站时,更新后的静态文件资源统一部署到web网站的web服务器,确定web网站当前的版本号;

步骤302:管理服务器对web网站的版本进行管理,记录web网站当前的版本号;

需要说明的是,在具体的方案实现中,管理服务器可以通过以下任意一种方式获取web网站的当前版本的版本号:

方式一、执行升级脚本文件:升级脚本运行在web服务器或其他单独的服务器,web网站的版本号配置在升级脚本文件中。在web网站的升级过程中,通过运行升级脚本文件,先对web服务器中的web网站进行升级,更新静态资源文件,然后升级脚本文件调用管理服务器的接口,在管理服务器上配置web网站最新的版本号。

方式二、手工执行:运维人员对web网站进行升级,升级该web网站的web服务器中的静态资源文件,并在管理界面上通过管理服务器提供的接口写入web网站的新的版本号;

方式三、配置管理工具。管理工具可以用来监控web网站的升级过程,从版本库中自动获取web网站升级后的版本号,或者,管理工具可以直接监控web服务器中web网站版本号的变化。对于同一个web网站,在版本库中可能存在很多版本,管理工具可以通过多种方式获取web网站升级后的最新版本,包括但不限于预先设定版本号定义规则、匹配升级开始时间等等。

方式四、web服务器中存储有版本描述文件,用于描述web网站当前的版本,管理服务器可以获取版本描述文件,提取web网站版本号;

步骤303:管理服务器生成与所述web网站的当前版本的版本号对应的版本参数,记录所述web网站的标识、版本号以及版本参数的关联关系,所述web网站的标识是管理服务器上web网站的唯一标识;

需要说明的是,可以直接使用web网站的当前版本的版本号作为版本参数。本发明实施例对版本参数具体的实现形式并不进行限定。

步骤304:浏览器客户端向web服务器发送访问请求,所述访问请求经由所述代理服务器发送给所述web服务器;

在一种示例中,用户在浏览器客户端界面输入待访问的网站页面的网址,浏览器客户端向web网站的web服务器发送HTTP请求,该HTTP请求用于指示待访问页面,HTTP请求的地址为所述待访问页面的地址。所述web服务器为所述待访问的web网站提供web服务,待访问的页面包含的静态资源文件文件存储在所述web服务器中。

在一个示例中,web网站可以部署到一台web服务器或者部署到多台服务器组成的web服务器集群中,代理服务器可以用来对HTTP请求做负载均衡,为HTTP请求选择合适的web服务器。

步骤305:web服务器经由所述代理服务器向所述浏览器客户端返回第一访问响应,所述第一访问响应中携带索引(index)文件,所述索引文件中包含待访问页面中包含的静态资源文件的初始URL。

本发明实施例中,web服务器返回的所述索引文件中的URL为待访问页面包含的静态资源文件的初始URL,该初始URL包括所述静态资源文件的原始路径信息。需要说明的是,该原始路径信息可以为静态资源文件的相对地址或绝对地址,本发明实施例对此并不进行限定,该原始路径信息中不包含web网站的版本信息,即web网站升级并不会导致该原始路径信息的变化。

步骤306:所述代理服务器拦截所述第一访问响应,并向管理服务器发送版本查询请求,所述版本查询请求携带所述web网站的标识,用于查询所述web网站的当前版本对应的版本参数;

在一种示例中,代理服务器并不会对web服务器返回给浏览器客户端的所有文件进行拦截,代理服务器根据web服务器返回的文件的文件类型确定是否拦截,只有文件中携带静态资源文件的URL的。具体的,代理服务器判断所述第一访问响应中携带的所述索引文件的文件类型,当所述文件类型为css文件或者html文件时,拦截所述第一访问响应,当所述文件类型不是css文件或者html文件时,将所述第一访问响应透传给所述浏览器客户端。

在另一种示例中,代理服务器实现版本服务器的功能,此时,代理服务器生成web网站的当前版本的版本参数,或者,直接以web网站的当前版本的版本号作为版本参数。

步骤307:所述管理服务器根据所述版本查询请求中携带的web网站的标识,查询web网站的标识、web网站的版本号以及版本参数的对应关系,获得web网站当前的版本号对应的所述版本参数,向所述代理服务器返回版本参数查询响应,所述版本参数查询响应中携带所述版本参数。

步骤308:所述代理服务器接收所述版本参数查询响应,根据所述静态资源文件的初始URL和所述web网站的当前版本的版本参数,生成所述静态资源文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数。

所述代理服务器将所述索引文件包含的所述静态资源文件的初始URL替换为生成的所述当前URL。

示例性的,本发明实施例对URL的结构进行说明。根据标准RFC1738中的定义(链接:https://www.ietf.org/rfc/rfc1738.txt),URL的格式如下:

http://<host>:<port>/<path>?<searchpart>

其中,host表示域名或IP地址,port为端口号,path为路径信息部分,可以用来指示获取静态资源文件的路径,searchpart为查询部分,表示URL参数。?为查询部分的起点,从而与路径信息部分隔开。在本发明实施例中,版本参数被携带在上述URL格式中的查询部分,因此不会对静态资源文件的获取路径造成影响。在web网站升级时,由于路径信息部分不发生变化,因此,开发人员无需对各个静态资源文件的路径进行更新,也无需改变静态资源文件的文件名,降低了开发成本。

示例性的,在一种具体的实施方式中,索引文件原始的RUL为<link src="theme/logo.GIF">,代理服务器将其替换为<link src="theme/logo.gif?ttl=345672">,其中,字符串345672为静态资源文件logo.gif所在的web网站当前版本对应的版本参数,该字符串可以采用对版本号进行哈希的方式生成。

步骤309:所述代理服务器向所述浏览器客户端返回第二访问响应,所述第二访问响应中携带更新后的索引文件,所述更新后的索引文件包含静态资源文件的当前URL。

步骤310:所述浏览器客户端接收所述第二访问响应,提取所述更新后的静态资源文件的URL。

步骤311:所述浏览器客户端向web服务器发送文件获取请求,所述文件获取请求携带所述更新后的静态资源文件的URL,从web服务器请求所述静态资源文件。web服务器接收所述文件获取请求,根据所述静态资源文件的当前URL中提取读取所述静态资源文件,返回给所述浏览器客户端。

在一种示例中,所述浏览器客户端还可以在本地缓存接收到的静态资源文件,记录所述静态资源文件的文件名以及版本参数。进一步的,浏览器客户端再次访问该web网站时,在获取到待访问页面包含的静态资源文件的URL后,还可以根据所述静态资源文件的URL中包含的文件名及版本参数判断本地是否缓存有待读取的静态资源文件,如果有,则无需再从web服务器获取,从而提高了网站访问速度。

进一步的,利用HTTP协议支持缓存的机制,第一访问响应中还包括缓存设置参数,用于指示所述浏览器客户端侧是否需要缓存静态资源文件以及缓存时长。具体的,缓存设置参数可以为cache和/或expire参数,基于HTTP协议的定义来进行缓存设置。代理服务器在发送给浏览器客户端的第二访问响应中同样携带该缓存设置参数。缓存设置参数中携带缓存过期时间间隔的建议值,如果浏览器客户端选择接受这个建议值,就会将该静态资源文件缓存建议值对应的时长,在这段时长之内就直接使用静态资源文件的本地副本而无需再次从web服务器获取,从降低网络带宽的消耗。当web网站升级后,静态资源文件对应的版本参数发生变化,浏览器客户端可以根据接收到的URL中包含的静态资源文件的文件名和版本参数,确定本地存储的静态资源文件已经过期,此时需要执行上述静态资源文件获取的流程,刷新本地缓存的静态资源文件。

本发明实施例在浏览器客户端和web服务器之间增加代理服务器,用于实现对web服务器的访问响应的拦截和修改。不同于现有技术中基于文件内容的hash值更新文件名称,本发明实施例中代理服务器基于web网站的版本参数更新浏览器客户端访问的静态资源文件的当前URL,在所述当前URL的查询部分添加版本参数,为浏览器客户端提供web网站升级时更新的静态资源文件,并且更新浏览器客户端侧的缓存文件。在web网站版本升级过程中,开发人员无需改变静态资源文件的路径,无需手动更新资源文件的URL,也无需更新静态资源文件的命名,从而提高了网站升级的效率。一方面,由于web网站升级过程中无需更改静态资源文件的文件名,因此不会对引用了该静态资源文件的其他文件造成影响,引用了该静态资源文件的其他文件的文件名也无需更改,从而避免对网站的海量文件进行全量升级,降低了升级风险;另一方面,在上述web网站的升级过程中,无需修改静态资源文件的路径,因此,开发人员不需要重新编写静态资源文件的路径,降低了开发成本。

需要说明的是,在本发明实施例中,优选地,不缓存web网站的首页(Home.html),当浏览器客户端需要登录web网站的首页时,总是需要从web服务器获取首页对应的索引文件。当web网站发生版本更新时,浏览器客户端可以获取最新的静态资源文件。

代理服务器也称为7层负载均衡器,例如现有的nginx,haproxy等均可以提供这类服务。

进一步的,在一个示例中,浏览器客户端可以支持AJAX(Asynchronous Javascript And Extensible Markup Language,异步JavaScript和扩展标记语言)。传统的网页(不使用AJAX技术)如果需要更新页面内容,即使只是改变页面部分内容,也需要重载整个网页页面。而AJAX技术在浏览器客户端与Web服务器之间使用异步数据传输,可以在不重新加载整个网页的情况下,对网页的部分内容进行更新,这样就可降低网页从服务器下载的数据量。

AJAX是一种创建交互式网页应用的网页开发技术。浏览器客户端侧包括AJAX引擎,AJAX引擎可以通过XmlHttpRequest对象从web服务器获取静态资源文件。

在一种示例中,AJAX引擎运行JavaScript(JS)文件创建XmlHttpRequest对象,该XmlHttpRequest对象中包括HTTP方法(Get/Post)、目标URL,以及回调函数,其中目标URL即为待获取的静态资源文件的URL。需要说明的是,本申请中,AJAX引擎通过JavaScript创建XmlHttpRequest对象的方法可以采用现有AJAX技术的常用方法,本申请对此并不进行限定。

步骤309进一步的还可以包括:代理服务器在第二访问响应的cookie中插入与web网站当前版本对应的版本参数,所述第二访问响应中携带的更新后的索引文件中包括第一JS文件的文件名。步骤310还可以包括:AJAX引擎执行所述第一JS文件,创建XmlHttpRequest对象,所述XmlHttpRequest对象中的目的URL包含第二JS文件的文件名以及所述版本参数,所述XmlHttpRequest对象用于向web服务器获取所述第二JS文件,所述第二JS文件被所述第一JS文件引用。

通过上述方式,当浏览器客户端支持AJAX技术,web服务器返回的索引文件中包含的第一JS文件需要引用第二JS文件时,浏览器客户端的AJAX引擎构建XmlHttpRequest对象,在XmlHttpRequest对象携带的第二JS文件的目标URL中添加版本参数,即可从web服务器获取web网站升级后的第二JS文件。从而解决了AJAX请求时,浏览器客户端静态资源文件的获取和缓存更新问题。

在一种示例中,web网站升级,web服务器存储的静态资源文件发生更新,浏览器客户端向web服务器发送首次访问请求时,会自动下载访问的页面中包含的静态资源文件,并更新本地缓存;在后续请求时,当后续访问的页面中包含的静态资源文件已经在本地缓存时,浏览器客户端就不会向web服务器发起静态资源文件的文件获取请求,因而基于代理服务器的版本参数追加仅在web网站升级或缓存过期时才会执行。因此本发明实施例可以提供非常好的网站响应性能和并发能力。

与前述方法实施例相对应,如图4所示,为本发明实施例提供的一种web服务器的结构示意图,所述web服务器400包括:服务器接收模块401、服务器获取模块402、服务器生成模块403以及服务器发送模块404,

服务器接收模块401,用于接收来自客户端的访问请求,所述访问请求指示web网站的待访问页面;

服务器获取模块402,用于获取所述待访问页面包含的内容文件的初始统一资源定位符URL以及所述web网站的当前版本的版本参数,所述初始URL包括所述内容文件的原始路径信息,所述web网站的每个版本对应于所述web网站的每次升级,所述web网站的每个版本对应唯一的版本参数;

服务器生成模块403,用于根据所述内容文件的初始URL和所述web网站的当前版本的版本参数,生成所述内容文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数;

服务器发送模块404,用于向所述客户端返回访问响应,所述访问响应携带所述内容文件的当前URL。

进一步的,服务器获取模块402可以通过多种方式获取web网站当前版本的版本参数,具体可以为:

所述服务器获取模块402,具体用于获取所述web网站的当前版本的版本号,根据所述版本号生成所述版本参数;或,

所述服务器获取模块402,具体用于获取所述web网站的当前版本的版本号,将所述web网站的当前版本的版本号作为所述版本参数;或,

所述服务器获取模块402,具体用于从管理服务器获取所述管理服务器根据所述web网站的标识返回的所述web网站的当前版本的版本参数。

所述服务器获取模块402具体用于按照以下任意一种方式获取所述web网站的当前版本的版本号:

方式一、获取所述web网站的版本描述文件,从所述版本描述文件中读取所述web网站的当前版本的版本号;

方式二、接收运维人员通过管理接口写入的所述web网站的当前版本的版本号;

方式三、执行升级脚本文件,在完成web网站升级后,配置所述web网站的当前版本的版本号;或者,

方式四、监控所述web网站的版本升级过程,当确定所述web网站的版本升级完成后,从版本库中读取所述web网站的当前版本的版本号。

所述服务器获取模块402,具体用于读取所述待访问页面对应的索引文件中包含的所述内容文件的初始URL;

相应地,所述服务器生成模块403,还用于将所述索引文件包含的所述内容文件的初始URL替换为生成的所述当前URL,将更新后的所述索引文件携带在所述访问响应中。

进一步的,web服务器返回给客户端的访问响应中包括缓存设置参数,用于指示所述客户端是否需要缓存内容文件以及缓存时长。所述访问响应的cookie中还可以携带所述web网站的当前版本的版本参数,以使得客户端可以从cookie中读取所述版本参数,用于在客户端侧生成内容文件的请求地址时添加所述版本参数。

Web服务器还可以包括:判断模块,用于判断所述待访问页面对应的索引文件的文件类型,根据所述索引文件的文件类型确定所述索引文件中是否包含所述内容文件的初始URL。具体的,若所述文件类型为css文件或者html文件时,索引文件包含内容文件的初始URL。

如图5所示,为本发明实施例提供的一种代理服务器的结构示意图,所述代理服务器500包括:拦截模块501、代理获取模块502、代理生成模块503以及代理发送模块504,

拦截模块501,用于拦截web服务器的第一访问响应,所述第一访问响应是所述web服务器接收到来自客户端的访问请求之后发出的,所述访问请求指示web网站的待访问页面,所述第一访问响应携带所述待访问页面包含的内容文件的初始URL,所述初始URL包括所述内容文件的原始路径信息;

代理获取模块502,用于获取所述web网站的当前版本的版本参数,所述web网站的每个版本对应于所述web网站的每次升级,所述web网站的每个版本对应唯一的版本参数;

代理生成模块503,用于根据所述内容文件的初始URL和所述web网站的当前版本的版本参数,生成所述内容文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数;

代理发送模块504,用于向所述客户端返回第二访问响应,所述第二访问响应携带所述内容文件的当前URL。

进一步的,代理获取模块502可以通过多种方式获取web网站当前版本的版本参数,具体可以为:

所述代理获取模块502,具体用于获取所述web网站的当前版本的版本号,根据所述版本号生成所述版本参数;或,

所述代理获取模块502,具体用于获取所述web网站的当前版本的版本号,将所述web网站的当前版本的版本号作为所述版本参数;或,

所述代理获取模块502,具体用于从管理服务器获取所述管理服务器根据所述web网站的标识返回的所述web网站的当前版本的版本参数。

所述代理获取模块502具体用于按照以下任意一种方式获取所述web网站的当前版本的版本号:

方式一、获取所述web网站的版本描述文件,从所述版本描述文件中读取所述web网站的当前版本的版本号;

方式二、接收运维人员通过管理接口写入的所述web网站的当前版本的版本号;

方式三、执行升级脚本文件,在完成web网站升级后,配置所述web网站的当前版本的版本号;或者,

方式四、监控所述web网站的版本升级过程,当确定所述web网站的版本升级完成后,从版本库中读取所述web网站的当前版本的版本号。

所述内容文件的初始URL包含在所述第一访问响应中的索引文件中;

相应地,所述代理生成模块503,还用于将所述索引文件包含的所述内容文件的初始URL替换为生成的所述当前URL,将更新后的所述索引文件携带在所述第二访问响应中。

如图6所示,为本发明实施例提供的一种客户端的结构示意图,包括客户端发送模块601以及客户端接收模块602,

客户端发送模块601,用于向web服务器发送访问请求,所述访问请求指示web网站的待访问页面;

客户端接收模块602,用于接收返回的访问响应,所述访问响应中携带所带访问页面包含的内容文件的当前URL,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数;

客户端发送模块601,还用于向所述web服务器发送文件请求消息,以获取所述内容文件,所述文件请求消息携带所述内容文件的当前URL。

进一步的,客户端可以缓存接收到的内容文件,具体的,客户端还包括:

存储单元603,用于存储在先访问所述web网站时获取的内容文件的文件名和版本参数。

处理单元604,用于从所述存储单元603查询存储的内容文件的文件名和版本参数,确定是否缓存所述待访问页面中包含的内容文件,如果否,则所述客户端发送模块601向所述web服务器发送文件请求消息。

进一步的,所述访问响应的cookie中携带所述版本参数,所述当前URL具体为第一JS文件的URL,

所述客户端还包括:AJAX引擎605,用于从所述cookie中获取版本参数,执行所述第一JS文件,创建XmlHttpRequest对象,所述XmlHttpRequest对象中的目的URL包含第二JS文件的原始地址信息以及所述版本参数,所述XmlHttpRequest对象用于向web服务器获取所述第二JS文件,所述第二JS文件被所述第一JS文件引用。

如图7所示,为本发明实施例提供的一种web网站的系统,包括web服务器400和代理服务器500,

所述web服务器400,用于接收来自客户端的访问请求,所述访问请求指示web网站的待访问页面,向所述客户端返回第一访问响应,所述第一访问响应携带所述待访问页面包含的内容文件的初始URL,所述初始URL包括所述内容文件的原始路径信息;

所述代理服务器500,用于拦截所述第一访问响应,获取所述web网站的当前版本的版本参数,所述web网站的每个版本对应于所述web网站的每次升级,所述web网站的每个版本对应唯一的版本参数;

所述代理服务器500,还用于根据所述内容文件的初始URL和所述web网站的当前版本的版本参数,生成所述内容文件的当前URL,向所述客户端返回第二访问响应,所述第二访问响应携带所述内容文件的当前URL,其中,所述当前URL包括路径信息部分和查询部分,所述路径信息部分包含所述内容文件的原始路径信息,所述查询部分包含所述web网站的当前版本的版本参数。

本发明实施例提供的上述web网站的访问方法、装置和web网站系统中,在返回给客户端的访问响应中包含的内容文件的URL的查询部分添加web网站的当前版本的版本参数,从而使得客户端可以根据所述当前URL从web服务器获取内容文件。在web网站版本升级时,开发人员无需改变内容文件的路径,无需手动更改内容文件的URL,也无需更新内容文件的命名,从而提高了网站升级的效率。一方面,由于web网站升级过程中无需更改内容文件的文件名,因此不会对引用了该内容文件的其他文件造成影响,引用了该内容文件的其他文件的文件名也无需更改,从而避免对网站的海量文件进行全量升级,降低了升级风险;另一方面,在上述web网站的升级过程中,无需修改内容文件的路径,因此,开发人员不需要重新编写内容文件的路径,降低了开发成本。

在图4-7对应的实施例中,web服务器400、代理服务器500、浏览器客户端600以及管理服务器是以功能单元/功能模块的形式来呈现。这里的“单元/模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到web服务器400、代理服务器500、浏览器客户端600以及管理服务器可以采用图2所示的形式。例如,服务器接收模块401、服务器获取模块402、服务器生成模块403以及服务器发送模块404可以通过图2的处理器和存储器来实现,具体的,由处理器来执行存储器中存储的程序代码来实现。

本发明实施例还提供了一种计算机存储介质,用于储存为上述各实施例中所示的web服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现web网站的访问方法。

本发明实施例还提供了另一种计算机存储介质,用于储存为上述代理服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现web网站的访问方法。

本发明实施例还提供了另一种计算机存储介质,用于储存为上述客户端所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现web网站的访问方法。

尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。

本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1