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

文档序号:9263482阅读:来源:国知局
存储器240将从文件服务器150获取的文件包进行缓存时,还可以同时将文件包解封装,例如解压缩后的文件也缓存到存储器240中。这样,文件处理器220在后续获取文件包中的内容时,可以省去对文件包进行解封装的过程,而是可以直接获取已经解封装的文件,这进一步提高了处理效率。
[0049]根据本发明的网络服务器140,可以根据客户端发送的链接地址,获取与该链接地址相对应的多个网页相关文件并进行组合而返回给客户端,从而减少了在客户端和网络服务器140之间的文件传输次数,提高了客户端解析网页的速度,并且也增强了网络服务器140的性能。
[0050]图3示出了根据本发明一个实施例的网络请求处理方法300的流程示意图。该方法300适于在图1所示的网络系统中的网络服务器140中执行,以便处理来自客户端的请求,并且根据请求中的链接地址内容来获取相应的内容返回给客户端。
[0051]网络请求处理方法300始于步骤S310。在步骤S310中,对网络服务器140接收到的请求进行解析,并获取该请求中所包括的版本标识信息和文件标识信息。请求通常为一个链接地址,根据一个示例,该请求例如为:
[0052]s0.qhimg.com/; static; js; /jquery-1.6.2.min, qtool, search/456efab43.js。
[0053]该请求为专门构造的链接地址,其中“s0.qhimg.com”为网络服务器140的域名。在步骤S310中对该链接地址进行解析,并获取其中的版本标识信息“456efab43”以及文件标识信息 “ ;static; js;/jquery-1.6.2.min, qtool, search” 以及文件后缀名 “ js”。
[0054]应当注意的是,根据一种实现方式,在链接地址中,各个部分用“/”字符链接在一起。另外,可选地,多个网页相关文件具有相同的文件后缀名,因此,将文件后缀名链接到版本标识信息之后。在获取版本标识信息时,可以提取在文件后缀名和最接近的“/”字符之间的内容作为版本标识信息,并且提取在版本标识信息之前,直到链接中距离域名最近的“/”字符之间的内容作为文件标识信息。
[0055]根据一个实施方式,版本标识信息是根据文件包中的所有文件的文件内容而计算得到的散列值,此时版本标识信息基本可以用于唯一地标识文件包。
[0056]然而,步骤S310的实现方式不受限于此,所以可以从链接地址中获取版本标识信息和文件标识信息的方式都在本发明的保护范围之内。
[0057]随后,在步骤S320中,接收在步骤S310解析出的版本标识信息和文件标识信息,并根据版本标识信息来获得与该版本标识信息相关联的文件包。步骤S320可以利用多种方式来获得文件包。根据第一个实施方式,可以将该版本标识信息发送给文件服务器150。文件服务器150从中查找与该版本标识信息相对应的文件包,并返回给网络服务器140。根据第二个实施方式,在步骤S320中,将先前从文件服务器150获得的文件包与版本标识信息相关联地缓存到网络服务器140中。因此,当在步骤S320中要获取与某个版本标识信息相关联的文件包时,会首先判断网络服务器140中缓存有该文件包,如果没有,则如同第一个实施方式那样,从文件服务器150获取与该版本标识信息相对应的文件包,并同时在网络服务器140中缓存。
[0058]文件包为将多个网页相关文件封装在一起的文件包。例如可以将多个网页相关文件压缩成一个压缩的文件包。例如,针对上面提供的链接地址,文件包可以是456efab43.zip文件,
[0059]在获取了文件包之后,在步骤S320中,会根据从步骤S310获得的文件标识信息,从该文件包中获得与文件标识信息相对应的一个或者多个文件。如上所述,文件标识信息包括了与该信息相对应的一个或者多个文件的信息。例如,以上面提供的链接地址为例,获得的文件标识信息为“ ;static; js;/jquery-1.6.2.min, qtool, search”和文件后缀名“js”,其中包括“jquery-1.6.2.min.js”、“qtool.js”和“search, js”三个文件。随后步骤S320会从文件包中获得这三个文件的文件内容,并由步骤S330进行处理。在步骤S330中,组合从文件包获得的一个或者多个文件的文件内容,并将组合好的内容返回给客户端110。随后方法300结束。
[0060]根据本发明的一个实施例,文件包中包含了多个网页相关文件,而每个链接地址可能仅仅需要获取其中的一部分网页相关文件。多个网页相关文件会具有不同的目录结构,在生成文件包时,会将这些目录结构同样包含在文件包中。因此,当从文件包中获取相关文件时,同样需要获悉每个文件在文件包中的具体目录信息。
[0061]为此,在步骤S310中,还根据文件标识信息来获得相关联的一个或者多个文件的完整目录结构信息。具体而言,文件标识信息包括文件标识的公共部分和一个或者多个不同部分。在步骤S310中,获取文件标识信息中的公共部分和各个不同部分,并将公共部分和各个不同部分分别进行组合以生成一个或者多个文件名作为文件信息。
[0062]例如,以上面的链接示例为例,获得的文件标识信息为“ ;static ;js;/jquery-1.6.2.min, qtool, search” 和文件后缀名 “js”,其中公共部分为 “ ;static; js; ”,而各个不同部分分别为“jquery-1.6.2.min”、“qtool”和“search”。可选地,由于原先公共部分中通常含有符号“/”来表示目录,当用符号“/”组合各个部分时,会产生混淆,因此在生成公共部分时,会利用其它符合(例如符号“;”)来替换符号“/”。所以生成器212在进行组合之前,首先会将公共部分中的符号“;”替换为“/”,随后,生成器212会组合公共部分和各个不同部分以及文件后缀名,从而生成以下三个文件名:
[0063]iVstatic/js/jquery-1.6.2.min.js” ;
[0064]“/static/js/qtool.js” ;以及
[0065]iVstatic/js/search, js,,。
[0066]随后,在步骤S320中,会根据步骤S310所获得的带有完整目录的文件名,从解封装的文件包中获取与这些文件名相对应的文件内容,并提供给步骤S330。
[0067]可选地,在步骤S310中,还从请求的链接地址中解析出应用标识信息。根据一种实施方式,在链接地址的域名部分和文件标识信息之间还包括应用标识信息,在步骤S310中,可以根据链接地址的各个部分的连接字符“/”而解析出应用标识信息。随后,在步骤S320中,还会接收步骤S310解析出的应用标识信息,并将利用应用标识信息和版本标识信息一起,从文件服务器150获取对应的文件包。虽然如上所述,单个版本标识信息就可以唯一标识文件包。但是在一些实施例中,版本标识信息可能并不是所有文件的文件内容进行散列计算的结果,而有可能就是一个时间戳。因此,如果将应用标识信息和版本标识信息相组合,这可以完全唯一地标识文件包。
[0068]另外,可选地,当在网络服务器140中,将从文件服务器150获取的文件包进行缓存时,还可以同时将文件包解封装(例如,解压缩),例如解压缩后的文件也缓存到网络服务器140中。这样,在步骤S320中,在后续获取文件包中的内容时,可以省去对文件包进行解封装的过程,而是可以直接获取已经解封装的文件,这进一步提高了处理效率。
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1