专利名称:控制浏览器缓存的方法及装置的制作方法
技术领域:
本发明涉及网络安全技术领域,特别是涉及一种控制浏览器缓存的方法及装置。
背景技术:
用户在使用web服务器提供的网页浏览服务时,通常会利用浏览器的缓存功能,将网页中的资源文件缓存在本地,从而使得浏览器在多次打开网页时,可直接在缓存中加载资源文件,而不用重新由web服务器下载,从而提高打开速度。然而,web服务器发布的某些机密文件并不希望用户的浏览器将其缓存,因为其可能导致机密泄露;同样,由于资源文件中可能包括用户的隐私信息,若缓存在浏览器中则可方便黑客读取,使得用户的隐私信息造成泄漏。传统技术中,可通过在网页中添加标记来控制浏览器是否进行缓存。该方法需要网页制作人员在生成网页时对网页逐个进行定义,且修改时也要对网页逐个进行编辑修改,便利性不足,从而使得控制浏览器缓存的效率不高。
发明内容
基于此,有必要提供一种能提高时效性的控制浏览器缓存的方法。一种控制浏览器缓存的方法,包括:获取http访问请求;读取缓存配置,提取匹配字符串;判断所述http访问请求是否包含与所述匹配字符串对应的数据内容并获取与所述http访问请求对应的http响应数据包,若是,为所述http响应数据包添加非缓存标记;转发所述http响应数据包。在其中一个实施例中,所述获取与所述http访问请求对应的http响应数据包的步骤之后还包括:判断所述http响应数据包是否包含与所述匹配字符串对应的数据内容,若是,则执行所述为http响应数据包添加非缓存标记的步骤。在其中一个实施例中,所述匹配字符串包括访问路径、正则表达式、资源类型和网络地址中的至少一种。在其中一个实施例中,所述为http响应数据包添加非缓存标记的步骤为:获取所述http响应数据包的http头部信息;通过编辑所述http头部信息中的Cache-control属性添加非缓存标记。在其中一个实施例中,所述方法还包括:获取输入的匹配字符串;将所述匹配字符串存储在所述缓存配置中。此外,还有必要提供一种能提高时效性的控制浏览器缓存的装置。一种控制浏览器缓存的装置,包括:
请求获取模块,用于获取http访问请求;配置读取模块,用于读取缓存配置,提取匹配字符串;请求匹配模块,用于判断所述http访问请求是否包含与所述匹配字符串对应的数据内容并获取与所述http访问请求对应的http响应数据包,若是,则调用标记添加模块;标记添加模块,用于为所述http响应数据包添加非缓存标记;数据转发模块,用于转发所述http响应数据包。在其中一个实施例中,所述装置还包括响应匹配模块,用于判断所述http响应数据包是否包含与所述匹配字符串对应的数据内容,若是,则调用所述标记添加模块。在其中一个实施例中,所述匹配字符串包括访问路径、正则表达式、资源类型和网络地址中的至少一种。在其中一个实施例中,所述标记添加模块用于获取所述http响应数据包的http头部信息;通过编辑所述http头部信息中的Cache-control属性添加非缓存标记。
在其中一个实施例中,所述装置还包括配置编辑模块,用于获取输入的匹配字符串,将所述匹配字符串存储在所述缓存配置中。上述控制浏览器缓存的方法及装置中,用户可通过在缓存配置中输入匹配字符串来对转发至浏览器的数据包添加非缓存标记,从而快速地对所有转发至浏览器的数据包是否进行缓存进行了有效的控制,从而提高了时效性。
图1为一个实施例中安全防护方法的流程图;图2为一个实施例中安全防护装置的结构示意图;图3为另一个实施例中安全防护装置的结构示意图。
具体实施例方式在一个实施例中,如图1所示,一种控制浏览器缓存的方法,包括如下步骤:步骤S102,获取http访问请求。在本实施例中,http访问请求即用户通过浏览器访问网页时向web服务器发送的数据访问请求,该数据访问请求先被发送至web服务器所处子网的网关处,再由该网关转发至web服务器。可在网关处获取该http访问请求。http访问请求通常为字符串序列,例如:http://192.168.1.1/main/index, html。步骤S104,读取缓存配置,提取匹配字符串。在本实施例中,缓存配置可以是配置文件,匹配字符串包括访问路径、正则表达式、资源类型和网络地址中的至少一种。访问路径即http访问请求中的路径信息,可以是文件夹名称或文件名称。如上例中,匹配字符串可以是main文件夹或者index, html文件。正则表达式可以用于表示特征字符串,例如email类型的字符串或者年月日类型的字符串。资源类型可以是文件的后缀名或者数据包中http协议头部中的content-type类型,例如,“content-type:application/msword” 即为 word 类型的文档。网络地址可以是域名、ip地址(如上例中的192.168.1.1)或端口等字符串。在本实施例中,缓存配置可预先进行配置,具体步骤为:获取输入的匹配字符串,将匹配字符串存储在缓存配置中。也就是说,用户可预先将匹配字符串写入缓存配置中,并将该匹配字符串与是否进行缓存关联起来。步骤S106,判断http访问请求是否包含与匹配字符串对应的数据内容并获取与http访问请求对应的http响应数据包,若是,则执行步骤S108,为http响应数据包添加非缓存标记;否则,无需对http响应数据包添加非缓存标记,可直接将其转发至对应的远程终端。可获取http访问请求对应的数据包,通过解析数据包获取http请求头部信息中的文本内容,然后通过查找字符串判断该文本内容中是否包含匹配字符串(若匹配字符串为正则表达式,则以正则表达式匹配该文本内容),若是,则匹配成功;若否,则匹配失败。
在本实施例中,不管http访问请求是否包含与匹配字符串对应的数据内容均获取与http访问请求对应的http响应数据包。http响应数据包即web服务器针对http访问请求返回的数据包,例如,若http访问请求对应的是某个网页,则web服务器则将该网页编码后通过http响应数据包返回给浏览器。返回的http响应数据包同样会由网关转发。在一个实施例中,为http响应数据包添加非缓存标记的步骤可具体为:获取http响应数据包的http头部信息,通过编辑http头部信息中的Cache-control属性添加非缓存标记。例如,若http响应数据包对应的浏览器为firefox浏览器,可在http头部信息中的Cache-control属性中添加非缓存标记no-store,而对于IE浏览器则可在http头部信息中的Cache-control属性中添加非缓存标记no-cache,若浏览器信息不明,贝U可在Cache-control属性中同时添加no-store和no-cache。浏览器接收到该http响应数据包后,通过解析该http响应数据包,获取http头部信息,判断Cache-control属性是否包含no-store或no-cache,若是,则不缓存该http响应数据包。步骤S110,转发http响应数据包。可通过网关的接口函数将http响应数据包转发至对应的浏览器。在本实施例中,获取与所述http访问请求对应的http响应数据包的步骤之后还可判断http响应数据包是否包含与匹配字符串对应的数据内容,若是,则执行为http响应数据包添加非缓存标记的步骤;否则,无需对http响应数据包添加非缓存标记,可直接将其转发至对应的远程终端。判断http响应数据包是否包含与匹配字符串对应的数据内容的方式可与前述的判断http访问请求是否包含与匹配字符串对应的数据内容的方式相同,均通过解析数据包,获取数据包的http头部信息的文本内容,并将之与匹配字符串进行比较,若文本内容包含匹配字符串则匹配成功,若否,则匹配失败。在一个实施例中,如图2所示,一种控制浏览器缓存的装置,包括请求获取模块102、配置读取模块104、请求匹配模块106、标记添加模块108和数据转发模块110,其中:请求获取模块102,用于获取http访问请求。在本实施例中,http访问请求即用户通过浏览器访问网页时向web服务器发送的数据访问请求,该数据访问请求先被发送至web服务器所处子网的网关处,再由该网关转发至web服务器。可在网关处获取该http访问请求。http访问请求通常为字符串序列,例如:http://192.168.1.1/main/index, html。配置读取模块104,用于读取缓存配置,提取匹配字符串。在本实施例中,缓存配置可以是配置文件,匹配字符串包括访问路径、正则表达式、资源类型和网络地址中的至少一种。访问路径即http访问请求中的路径信息,可以是文件夹名称或文件名称。如上例中,匹配字符串可以是main文件夹或者index, html文件。正则表达式可以用于表示特征字符串,例如email类型的字符串或者年月日类型的字符串。资源类型可以是文件的后缀名或者数据包中http协议头部中的content-type类型,例如,“content-type:application/msword” 即为 word 类型的文档。网络地址可以是域名、ip地址(如上例中的192.168.1.1)或端口等字符串。在本实施例中,如图3所示,控制浏览器缓存的装置还包括配置编辑模块112,用于获取输入的匹配字符串,将匹配字符串存储在缓存配置中。也就是说,用户可预先将匹配字符串写入缓存配置中,并将该匹配字符串与是否进行缓存关联起来。请求匹配模块106, 用于判断http访问请求是否包含与匹配字符串对应的数据内容并获取与http访问请求对应的http响应数据包,若是,则调用标记添加模块108 ;否则,无需调用标记添加模块108对http响应数据包添加非缓存标记。标记添加模块108,用于为http响应数据包添加非缓存标记。可获取http访问请求对应的数据包,通过解析数据包获取http请求头部信息中的文本内容,然后通过查找字符串判断该文本内容中是否包含匹配字符串(若匹配字符串为正则表达式,则以正则表达式匹配该文本内容),若是,则匹配成功;若否,则匹配失败。在本实施例中,不管http访问请求是否包含与匹配字符串对应的数据内容均获取与http访问请求对应的http响应数据包。http响应数据包即web服务器针对http访问请求返回的数据包,例如,若http访问请求对应的是某个网页,则web服务器则将该网页编码后通过http响应数据包返回给浏览器。返回的http响应数据包同样会由网关转发。在一个实施例中,标记添加模块108还可用于获取http响应数据包的http头部信息,通过编辑http头部信息中的Cache-control属性添加非缓存标记。例如,若http响应数据包对应的浏览器为firefox浏览器,可在http头部信息中的Cache-control属性中添加非缓存标记no-store,而对于IE浏览器则可在http头部信息中的Cache-control属性中添加非缓存标记no-cache,若浏览器信息不明,则可在Cache-control属性中同时添加no-store和no-cache。浏览器接收到该http响应数据包后,通过解析该http响应数据包,获取http头部信息,判断Cache-control属性是否包含no-store或no-cache,若是,则不缓存该http响应数据包。数据转发模块110,用于转发http响应数据包。可通过网关将http响应数据包转发至对应的浏览器。在本实施例中,如图3所示,控制浏览器缓存的装置还包括响应匹配模块114,用于判断http响应数据包是否包含与匹配字符串对应的数据内容,若是,则调用标记添加模块108 ;否则,无需对http响应数据包添加非缓存标记,数据转发模块110可直接将其转发至对应的远程终端。判断http响应数据包是否包含与匹配字符串对应的数据内容的方式可与前述的判断http访问请求是否包含与匹配字符串对应的数据内容的方式相同,均通过解析数据包,获取数据包的http头部信息的文本内容,并将之与匹配字符串进行比较,若文本内容包含匹配字符串则匹配成功,若否,则匹配失败。上述控制浏览器缓存的方法及装置中,用户可通过在缓存配置中输入匹配字符串来对转发至浏览器的数据包添加非缓存标记,从而快速地对所有转发至浏览器的数据包是否进行缓存进行了有效的控制,从而提高了时效性。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利 的保护范围应以所附权利要求为准。
权利要求
1.一种控制浏览器缓存的方法,包括: 获取http访问请求; 读取缓存配置,提取匹配字符串; 判断所述http访问请求是否包含与所述匹配字符串对应的数据内容并获取与所述http访问请求对应的http响应数据包,若是,为所述http响应数据包添加非缓存标记; 转发所述http响应数据包。
2.根据权利要求1所述的控制浏览器缓存的方法,其特征在于,所述获取与所述http访问请求对应的http响应数据包的步骤之后还包括: 判断所述http响应数据包是否包含与所述匹配字符串对应的数据内容,若是,则执行所述为http响应数据包添加非缓存标记的步骤。
3.根据权利要求1或2所述的控制浏览器缓存的方法,其特征在于,所述匹配字符串包括访问路径、正则表达式、资源类型和网络地址中的至少一种。
4.根据权利要求1或2所述的控制浏览器缓存的方法,其特征在于,所述为http响应数据包添加非缓存标记的步骤为: 获取所述http响应数据包的http头部信息; 通过编辑所述http头部信息中的Cache-control属性添加非缓存标记。
5.根据权利要求1或2所述的控制浏览器缓存的方法,其特征在于,所述方法还包括: 获取输入的匹配字符串; 将所述匹配字符串存储在所述缓存配置中。
6.一种控制浏览器缓存的装置,其特征在于,包括: 请求获取模块,用于获取http访问请求; 配置读取模块,用于读取缓存配置,提取匹配字符串; 请求匹配模块,用于判断所述http访问请求是否包含与所述匹配字符串对应的数据内容并获取与所述http访问请求对应的http响应数据包,若是,则调用标记添加模块; 标记添加模块,用于为所述http响应数据包添加非缓存标记; 数据转发模块,用于转发所述http响应数据包。
7.根据权利要求6所述的控制浏览器缓存的装置,其特征在于,所述装置还包括响应匹配模块,用于判断所述http响应数据包是否包含与所述匹配字符串对应的数据内容,若是,则调用所述标记添加模块。
8.根据权利要求6或7所述的控制浏览器缓存的装置,其特征在于,所述匹配字符串包括访问路径、正则表达式、资源类型和网络地址中的至少一种。
9.根据权利要求6或7所述的控制浏览器缓存的装置,其特征在于,所述标记添加模块用于获取所述http响应数据包的http头部信息;通过编辑所述http头部信息中的Cache-control属性添加非缓存标记。
10.根据权利要求6或7所述的控制浏览器缓存的装置,其特征在于,所述装置还包括配置编辑模块,用于获取输入的匹配字符串,将所述匹配字符串存储在所述缓存配置中。
全文摘要
本发明涉及一种控制浏览器缓存的方法,包括获取http访问请求;读取缓存配置,提取匹配字符串;判断所述http访问请求是否包含与所述匹配字符串对应的数据内容并获取与所述http访问请求对应的http响应数据包,若是,为所述http响应数据包添加非缓存标记;转发所述http响应数据包。此外,还包括一种控制浏览器缓存的装置。上述控制浏览器缓存的方法及装置可以提高控制的时效性。
文档编号H04L29/08GK103227815SQ201310097460
公开日2013年7月31日 申请日期2013年3月25日 优先权日2013年3月25日
发明者曾加良 申请人:深信服网络科技(深圳)有限公司