发明内容
本发明实施例提供一种浏览器缓存处理方法、系统及代理服务器,用以解决现有的浏览器缓存策略存在通用性差的问题,可以提高浏览器浏览网站的速度,提高用户的体验度。
第一方面,本发明提供一种浏览器缓存处理方法,包括:
代理服务器接收第一终端发送的网站访问请求,所述网站访问请求中包括所述网站的标识;
获取与所述网站的标识对应的网站的浏览器缓存策略信息,生成与所述浏览器缓存策略信息对应的缓存代码;
获取与所述网站的标识对应的网站的网站代码,在所述网站代码中添加所述缓存代码;
将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器。
其中,所述获取与所述网站的标识对应的网站的浏览器缓存策略信息之前,包括:
所述代理服务器接收第二终端发送的浏览器缓存策略设置请求,所述浏览器缓存策略设置请求中包括浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的标识;
保存所述浏览器缓存策略信息与所述网站的标识之间的对应关系。
其中,所述获取与所述网站的标识对应的网站的浏览器缓存策略信息包括:
所述代理服务器获取所述网站的访问速度,若所述访问速度小于预设的访问速度阈值,则获取所述网站的浏览器缓存策略信息。
其中,获取与所述网站的标识对应的网站的网站代码,包括:
所述代理服务器根据所述网站的标识,获取与所述网站的标识对应的网站服务器的IP地址,从所述IP地址对应的网站服务器中获取所述网站的网站代码,所述网站代码为超文本标记语言HTML代码。
其中,所述浏览器缓存策略信息包括缓存控制信息、缓存有效期,所述缓存控制信息包括是否进行缓存、缓存区域,所述缓存有效期包括浏览器缓存的启用时间和终止时间。
第二方面,提供一种代理服务器,其包括:
接收模块,用于接收第一终端发送的网站访问请求,所述网站访问请求中包括所述网站的标识;
获取模块,用于获取与所述网站的标识对应的网站的浏览器缓存策略信息;
生成模块,用于生成与所述获取模块获取的浏览器缓存策略信息对应的缓存代码;
所述获取模块,还用于获取与所述网站的标识对应的网站的网站代码;
添加模块,用于在所述获取模块获取的网站代码中添加所述生成模块生成的缓存代码;
发送模块,用于将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器。
其中:所述接收模块,还用于接收第二终端发送的浏览器缓存策略设置请求,所述浏览器缓存策略设置请求中包括浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的标识;
所述代理服务器还包括:
保存模块,用于保存所述浏览器缓存策略信息与所述网站的标识之间的对应关系。
其中:所述获取模块,具体用于获取所述网站的访问速度,若所述访问速度小于预设的访问速度阈值,则获取所述网站的浏览器缓存策略信息。
其中:所述获取模块,具体用于根据所述网站的标识,获取与所述网站的标识对应的网站服务器的IP地址,从所述IP地址对应的网站服务器中获取所述网站的网站代码,所述网站代码为超文本标记语言HTML代码。
其中,所述浏览器缓存策略信息包括缓存控制信息、缓存有效期,所述缓存控制信息包括是否进行缓存、缓存区域,所述缓存有效期包括浏览器缓存的启用时间和终止时间。
第三方面,提供一种浏览器缓存处理系统,其包括:代理服务器、第一终端、第二终端;
所述代理服务器为如第二方面所述的代理服务器;
所述第一终端,用于向所述代理服务器发送网站访问请求,所述网站访问请求中包括所述网站的标识;以使所述代理服务器获取与所述网站的标识对应的网站的浏览器缓存策略信息,生成与所述浏览器缓存策略信息对应的缓存代码;获取与所述网站的标识对应的网站的网站代码,在所述网站代码中添加所述缓存代码;将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器;
所述第二终端,还用于向所述代理服务器发送浏览器缓存策略设置请求,所述浏览器缓存策略设置请求中包括浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的标识;以使所述代理服务器保存所述浏览器缓存策略信息与所述网站的标识之间的对应关系。
本发明实施例的代理服务器在接收第一终端发送的网站访问请求时,根据所述网站访问请求中包括所述网站的标识,获取所述网站的浏览器缓存策略信息和网站代码,生成与所述浏览器缓存策略信息对应缓存代码,并在所述网站代码中添加所述缓存代码;将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器,使得第一终端的浏览器在接收到添加所述缓存代码后的所述网站代码时,可以根据缓存代码,将网站内容缓存到第一终端本地,以便第一终端在后续方位该网站时,可以根据本地缓存的网站内容,快速打开该网站。
由于本发明实施例中,与浏览器缓存策略信息对应缓存代码不需要网站制作人员进行编写,而是由代理服务器生成与所述浏览器缓存策略信息对应缓存代码,因此,即使网站制作人员不具有相关的计算机软件知识也可以通过代理服务器实现网站的浏览器缓存策略,不仅解决了现有的浏览器缓存策略存在通用性差的问题,而且还可以提高浏览器浏览网站的速度,提高用户的体验度。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的浏览器缓存处理方法的流程示意图,如图1所述,本实施例的方法包括:
101、代理服务器接收第一终端发送的网站访问请求,所述网站访问请求中包括所述网站的标识;
其中,网站的标识唯一标识所述网站,例如包括网站的域名。
假设某一网站中没有设置浏览器缓存功能,为了提高浏览器浏览该网站的速度,通常,需要网站制作人员在制作网站时对网站中的网页逐个进行定义,且修改时也要对网页逐个进行修改源代码或服务器参数,需要网站制作人员具有计算机软件相关知识,实现很是不方便。
本发明实施的代理服务器可以为网站提供浏览器缓存功能,举例来说,在步骤101之前,可以在域名解析服务(DNS)提供商处将网站的域名解析到代理服务器上,具体实现时举例来说,假设网站的域名为www.aaa.com,该网站保存在IP地址例如为192.168.1.100的网站服务器上,则该网站的DNS解析为:www.aaa.com—>192.168.1.100;本实施例中,使用代理代理服务器后,该域名指向的IP地址修改为代理服务器的IP地址(例如为192.168.1.200),则该网站修改后的DNS解析例如为:网站域名www.aaa.com首先指向代理服务器的IP地址192.168.1.200,之后,由代理服务器(192.168.1.200)到网站服务器(192.168.1.100)获取数据。
依据本发明的一个实施方式,用户通过第一终端的浏览器输入该用户访问的网站的域名,即可触发第一终端向代理服务器发送网站访问请求,其中,网站访问请求中包括用户欲访问的网站的域名。
102、获取与所述网站的标识对应的网站的浏览器缓存策略信息,生成与所述浏览器缓存策略信息对应的缓存代码。
具体地,代理服务器例如可以根据所述网站的域名,若确定存在与所述网站的域名对应的浏览器缓存策略信息,则生成与所述浏览器缓存策略信息对应的缓存代码;
当代理服务器修改网站的DNS修改之后,依据本发明的一个实施方式,在步骤102之前,代理服务器接收第二终端发送的浏览器缓存策略设置请求,所述浏览器缓存策略设置请求中包括浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的标识;并保存所述浏览器缓存策略信息与所述网站的标识之间的对应关系;具体实现时举例来说,网站站长通过第二终端登陆代理服务器,在代理服务器的浏览器缓存策略设置界面中输入需要设置的浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的域名,代理服务器保存所述浏览器缓存策略信息与所述网站的域名之间的对应关系。
当代理服务器接收到第一终端发送的网站访问请求之后,根据网站访问请求中包括的网站的域名,确定存在与所述网站的域名对应的浏览器缓存策略信息时,生成与所述浏览器缓存策略信息对应的缓存代码;或者
当代理服务器接收到第一终端发送的网站访问请求之后,代理服务器获取所述网站的访问速度,若所述访问速度小于预设的访问速度阈值,则根据网站访问请求中包括的网站的域名,获取预设的浏览器缓存策略信息,生成与所述浏览器缓存策略信息对应的缓存代码。具体实现时举例来说,代理服务器根据网站访问请求中包括的网站的域名,确定从对应的网站服务器中获取所述网站所用的时间,确定所述网站的访问速度,根据所述网站的访问速度执行预设缓存策略,例如,若所述网站的访问速度小于预设的访问速度阈值,且该网站未设置缓存策略或缓存策略中设置的缓存时间太短,则生成与获取的浏览器缓存策略信息对应的缓存代码,或者延长缓存策略中设置的缓存时间(设置长缓存)。
上述缓存代码例如为超文本标记语言(HyperText Markup Language,HTML)代码。
举例来说,代理服务器可以在超文本传送协议(Hypertext transfer protocol,http)头中进行浏览器缓存策略信息(Cache-Control)的设置,其中,Cache-Control中包括如下参数:
Public指示响应可被任何缓存区缓存;
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理;
no-cache指示请求或响应消息不能缓存;
cache指示请求或响应消息能缓存;
no-store用于防止重要的信息被无意的发布,在请求消息中发送将使得请求和响应消息都不使用缓存;
max-age指示终端可以接收生存期不大于指定时间(以秒为单位)的响应;
min-fresh指示终端可以接收响应时间小于当前时间加上指定时间的响应;
max-stale指示终端可以接收超出超时期间的响应消息;如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
其中,上述Cache-Control中还可以包括浏览器缓存有效期,具体包括浏览器缓存的启用时间和终止时间,例如,网站(站长)在代理服务器的浏览器缓存策略设置界面中选择缓存60分钟,即确定该网站的浏览器缓存有效期为60分钟,代理服务器生成与浏览器缓存有效期为60分钟的缓存代码。
对应地,代理服务器可以根据网站的域名,若确定存在与所述网站的域名对应的浏览器缓存策略信息,且当前时间在浏览器缓存有效期内,则生成与所述浏览器缓存策略信息对应缓存代码。
其中,假设浏览器缓存有效期包括启用时间和终止时间,则判断当前时间是否在浏览器缓存有效期内,可以通过判断当前时间是否在所述浏览器缓存的启用时间和终止时间内,若是则确定当前时间在浏览器缓存有效期内。
103、获取与所述网站的标识对应的网站的网站代码,在所述网站代码中添加所述缓存代码。
依据本发明的一个实施方式,代理服务器根据网站的域名和所述域名指向的IP地址之间的对应关系,从所述IP地址对应的网站服务器中获取与所述网站的域名对应的网站代码,所述网站代码例如为html代码。
举例来说,在所述网站代码中添加所述缓存代码时,例如可以使用HTML Meta标签添加存代码,即在网站的HTML页面的<head>节点中加入HTML Meta标签,其中,meta标签的http-equiv属性语法格式是:<meta http-equiv="参数"content="参数变量值">;其中,http-equiv是指http的文件头,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值;http-equiv属性主要有以下几种参数:
1、Expires(期限),用于设定网页的到期时间,一旦网页过期,必须到服务器上重新传输,例如,通过HTTP的META中的expires参数设置浏览器缓存策略的具体用法如下:
<meta http-equiv="expires"content="Wed,20Jun200722:33:00GMT">,即设置的浏览器缓存策略在Wed,20Jun200722:33:00之前有效。其中,使用的时间格式为格林尼治平时(Greenwich Mean Time,GMT)的时间格式;
2、Pragma(cache模式),是指设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出;例如,通过HTTP的META中的Pragma参数设置浏览器缓存策略的具体用法如下:
<meta http-equiv="Cache-Control"content="max-age=7200"/>;其中,7200(以秒为单位)是指设置的浏览器缓存策略的生存期。
需要说明的是,通过HTTP的META中的Pragma参数设置也可以设置浏览器不缓存的策略的,具体用法如下:<meta http-equiv="Pragma"content="no-cache">,此时,用户将无法对网站进行脱机浏览。
需要说明的是,浏览器缓存策略设置也可不通过meta标签进行设置,还可以通过其他脚本代码设置浏览器缓存策略,例如,在超文本预处理语言(HypertextPreprocessor,PHP)下利用header()函数设置浏览器缓存策略对应的缓存代码,具体通过header()函数中的参数:Last-Modified(最后修改时间)、Expires(有效期限)、Pragma(编译指示)或Cache-Control(缓存控制)进行设置,详细内容不再赘述。
上述浏览器缓存策略的设置仅为举例,本发明对此不作限定。
104、将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器。
当第一终端使用浏览器对该网站进行访问时,可以在第一终端本地在磁盘上对最近请求过的该网站的网页进行存储,当第一终端再次访问该网站时,浏览器就可以直接从第一终端本地磁盘上获取上次缓存的该网站的网页,而不用再到保存网站的网站服务器中获取,可以加速网站的阅览。
本发明实施例的代理服务器在接收第一终端发送的网站访问请求时,根据所述网站访问请求中包括所述网站的域名,若确定存在与所述网站的域名对应的浏览器缓存策略信息,则生成与所述浏览器缓存策略信息对应缓存代码,根据所述网站的域名,获取与所述网站的域名对应的网站代码,在所述网站代码中添加所述缓存代码;将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器,使得第一终端的浏览器接收到添加所述缓存代码后的所述网站代码时,可以根据缓存代码,将网站代码缓存到第一终端本地,以便第一终端在后续方位该网站时,可以根据本地缓存的网站代码,快速打开该网站。
由于本发明实施例中,与浏览器缓存策略信息对应缓存代码不需要网站制作人员进行编写,而是由代理服务器生成与所述浏览器缓存策略信息对应缓存代码,因此,即使网站制作人员不具有相关的计算机软件知识也可以通过代理服务器实现网站的浏览器缓存策略,不仅解决了现有的浏览器缓存策略存在通用性差的问题,而且还可以提高浏览器浏览网站的速度,提高用户的体验度。
图2为本发明另一实施例提供的代理服务器的结构示意图;如图2所示,包括:
接收模块21,用于接收第一终端发送的网站访问请求,所述网站访问请求中包括所述网站的标识;
获取模块22,用于获取与所述网站的标识对应的网站的浏览器缓存策略信息;
生成模块23,用于生成与所述获取模块22获取的浏览器缓存策略信息对应的缓存代码;
所述获取模块22,还用于获取与所述网站的标识对应的网站的网站代码;
添加模块24,用于在所述获取模块22获取的网站代码中添加所述生成模块23生成的缓存代码;
发送模块25,用于将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器。
其中:所述接收模块21,还用于接收第二终端发送的浏览器缓存策略设置请求,所述浏览器缓存策略设置请求中包括浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的标识;
所述代理服务器还包括:
保存模块26,用于保存所述浏览器缓存策略信息与所述网站的标识之间的对应关系。
其中:所述获取模块22,具体用于获取所述网站的访问速度,若所述访问速度小于预设的访问速度阈值,则获取所述网站的浏览器缓存策略信息。
其中:所述获取模块22,具体用于根据所述网站的标识,获取与所述网站的标识对应的网站服务器的IP地址,从所述IP地址对应的网站服务器中获取所述网站的网站代码,所述网站代码为超文本标记语言HTML代码。
其中,所述浏览器缓存策略信息包括缓存控制信息、缓存有效期,所述缓存控制信息包括是否进行缓存、缓存区域,所述缓存有效期包括浏览器缓存的启用时间和终止时间。
本发明实施例中,与浏览器缓存策略信息对应缓存代码不需要网站制作人员进行编写,而是由代理服务器生成与所述浏览器缓存策略信息对应缓存代码,因此,即使网站制作人员不具有相关的计算机软件知识也可以通过代理服务器实现网站的浏览器缓存策略,不仅解决了现有的浏览器缓存策略存在通用性差的问题,而且还可以提高浏览器浏览网站的速度,提高用户的体验度。
图3为本发明另一实施例提供的浏览器缓存处理系统的结构示意图,如图3所示,包括:代理服务器31、第一终端32、第二终端33;
所述代理服务器31为如图2所示实施例所述的代理服务器,详细内容不在赘述;
所述第一终端32,用于向所述代理服务器发送网站访问请求,所述网站访问请求中包括所述网站的标识;以使所述代理服务器获取与所述网站的标识对应的网站的浏览器缓存策略信息,生成与所述浏览器缓存策略信息对应的缓存代码;获取与所述网站的标识对应的网站的网站代码,在所述网站代码中添加所述缓存代码;将添加所述缓存代码后的所述网站代码发送给所述第一终端的浏览器;
所述第二终端33,还用于向所述代理服务器发送浏览器缓存策略设置请求,所述浏览器缓存策略设置请求中包括浏览器缓存策略信息和需要设置所述浏览器缓存策略信息的网站的标识;以使所述代理服务器保存所述浏览器缓存策略信息与所述网站的标识之间的对应关系。
本发明实施例中,与浏览器缓存策略信息对应缓存代码不需要网站制作人员进行编写,而是由代理服务器生成与所述浏览器缓存策略信息对应缓存代码,因此,即使网站制作人员不具有相关的计算机软件知识也可以通过代理服务器实现网站的浏览器缓存策略,不仅解决了现有的浏览器缓存策略存在通用性差的问题,而且还可以提高浏览器浏览网站的速度,提高用户的体验度。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以以代码的形式存储在一个计算机可读取存储介质中。上述代码存储在一个计算机可读存储介质中,包括若干指令用以使处理器或硬件电路执行本发明各个实施例所述方法的部分或全部步骤。而前述的存储介质包括:通用串行总线接口的无需物理驱动器的微型高容量移动存储盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称ROM)、随机存取存储器(英文:Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。