一种网络请求处理方法、网络服务器和网络系统的制作方法_2

文档序号:9263482阅读:来源:国知局
网页文件中的信息时,会随后从网络服务器140网页文件中所引用的文件。
[0028]网页中包含多个网页相关文件,例如多个CSS文件。当发布网页时,会将这些网页相关文件封装为一个文件包,并将这个文件包上传到文件服务器150,同时生成与这个文件包相对应的链接,并插入到网页中,同时将该网页上传到网络服务器140。
[0029]用户通过客户端110访问该网络服务器140并获取该网页,随后在客户端110对该网页进行解析时,需要向网络服务器140发送获取与该链接相对应的内容的请求。网络服务器140获取该请求,并从该请求中解析出版本标识信息和文件标识信息。网络服务器140首先确定在网络服务器140本地是否保存有与该版本标识信息相关联的文件包,如果没有,就从文件服务器150获取与该版本标识信息相关联的文件包。随后,网络服务器140从文件包中获取与该文件标识信息相对应的一个或者多个文件,并且组合所述文件的内容并返回给客户端110。
[0030]图2示出了根据本发明一个实施例的网络服务器140的结构示意图。如图2所示,网络服务器140包括解析器210、文件处理器220和输出装置230。
[0031]网络服务器140在接收到来自客户端的请求时,会将该请求发送给解析器210来处理。解析器210对该请求进行解析,并获取该请求中所包括的版本标识信息和文件标识信息。请求通常为一个链接地址,根据一个示例,该请求例如为:
[0032]s0.qhimg.com/; static; js; /jquery-1.6.2.min, qtool, search/456efab43.js0
[0033]该请求为专门构造的链接地址,其中“s0.qhimg.com”为网络服务器140的域名。解析器210对该链接地址进行解析,并获取其中的版本标识信息“456efab43”以及文件标识信息 “ ;static; j s; / j query-1.6.2.min, qtool, search” 以及文件后缀名 “ js”。
[0034]应当注意的是,根据一种实现方式,在链接地址中,各个部分用“/”字符链接在一起。另外,可选地,多个网页相关文件具有相同的文件后缀名,因此,将文件后缀名链接到版本标识信息之后。解析器210在获取版本标识信息时,可以提取在文件后缀名和最接近的“/”字符之间的内容作为版本标识信息,并且提取在版本标识信息之前,直到链接中距离域名最近的“ / ”字符之间的内容作为文件标识信息。
[0035]根据一个实施方式,版本标识信息是根据文件包中的所有文件的文件内容而计算得到的散列值,此时版本标识信息基本可以用于唯一地标识文件包。
[0036]然而,解析器210的实现方式不受限于此,所以可以从链接地址中获取版本标识信息和文件标识信息的方式都在本发明的保护范围之内。
[0037]文件处理器220接收解析器210解析出的版本标识信息和文件标识信息,并根据版本标识信息来获得与该版本标识信息相关联的文件包。文件处理器220可以利用多种方式来获得文件包。根据第一个实施方式,文件处理器220可以将该版本标识信息发送给文件服务器150。文件服务器150从中查找与该版本标识信息相对应的文件包,并返回给文件处理器220。根据第二个实施方式,网络服务器140包括存储器240,文件处理器220将先前从文件服务器150获得的文件包与版本标识信息相关联地缓存到存储器240中。因此,当文件处理器要获得与某个版本标识信息相关联的文件包时,会首先从存储器240中查找是否缓存有该文件包,如果没有,则如同第一个实施方式那样,文件处理器220从文件服务器150获取与该版本标识信息相对应的文件包,并同时在存储器240中缓存。
[0038]文件包为将多个网页相关文件封装在一起的文件包。例如可以将多个网页相关文件压缩成一个压缩的文件包。例如,针对上面提供的链接地址,文件包可以是456efab43.zip文件,
[0039]在获取了文件包之后,文件处理器220会根据从解析器210获得的文件标识信息,从该文件包中获得与文件标识信息相对应的一个或者多个文件。如上所述,文件标识信息包括了与该信息相对应的一个或者多个文件的信息。例如,以上面提供的链接地址为例,获得的文件标识信息为“ ;static; js;/jquery-l.6.2.min, qtool, search”和文件后缀名“ js”,其中包括“ jquery-1.6.2.min.js”、“qtool.js”和“search, js”三个文件。文件处理器220会从文件包中获得这三个文件的文件内容,并发送给输出装置230,输出装置230组合从文件包获得的一个或者多个文件的文件内容,并将组合好的内容返回给客户端110。
[0040]根据本发明的一个实施例,文件包中包含了多个网页相关文件,而每个链接地址可能仅仅需要获取其中的一部分网页相关文件。多个网页相关文件会具有不同的目录结构,在生成文件包时,会将这些目录结构同样包含在文件包中。因此,当从文件包中获取相关文件时,同样需要获悉每个文件在文件包中的具体目录信息。
[0041]为此,解析器210还包括文件标识生成器212。文件标识生成器212根据文件标识信息来获得相关联的一个或者多个文件的完整目录结构信息。具体而言,文件标识信息包括文件标识的公共部分和一个或者多个不同部分。生成器212获取文件标识信息中的公共部分和各个不同部分,并将公共部分和各个不同部分分别进行组合以生成一个或者多个文件名作为文件信息。
[0042]例如,以上面的链接示例为例,获得的文件标识信息为“ ;static ; js;/jquery-1.6.2.min, qtool, search” 和文件后缀名 “js”,其中公共部分为 “ ;static; js; ”,而各个不同部分分别为“jquery-1.6.2.min”、“qtool”和“search”。可选地,由于原先公共部分中通常含有符号“/”来表示目录,当用符号“/”组合各个部分时,会产生混淆,因此在生成公共部分时,会利用其它符合(例如符号“;”)来替换符号“/”。所以生成器212在进行组合之前,首先会将公共部分中的符号“;”替换为“/”,随后,生成器212会组合公共部分和各个不同部分以及文件后缀名,从而生成以下三个文件名:
[0043]iVstatic/js/jquery-1.6.2.min.js” ;
[0044]“/static/js/qtool.js” ;以及
[0045]iVstatic/js/search, js,,。
[0046]随后,文件处理器220会根据生成器212所获得的带有完整目录的文件名,从解封装的文件包中获取与这些文件名相对应的文件内容,并提供给输出装置230。
[0047]可选地,解析器210还从请求的链接地址中解析出应用标识信息。根据一种实施方式,在链接地址的域名部分和文件标识信息之间还包括应用标识信息,解析器210可以根据链接地址的各个部分的连接字符“/”而解析出应用标识信息。文件处理器220还会接收解析器210解析出的应用标识信息,并将利用应用标识信息和版本标识信息一起,从文件服务器150获取对应的文件包。虽然如上所述,单个版本标识信息就可以唯一标识文件包。但是在一些实施例中,版本标识信息可能并不是所有文件的文件内容进行散列计算的结果,而有可能就是一个时间戳。因此,如果将应用标识信息和版本标识信息相组合,这可以完全唯一地标识文件包。
[0048]另外,可选地,当利用
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1