处理http请求的方法及装置的制造方法_6

文档序号:9238205阅读:来源:国知局
径节点子集合表示一条被允许访 问的路径,不同的路径中相同的连续字符串由一个路径节点子集合中包括根节点在内的多 个相连的路径节点表示;
[0195]S4,若在路径节点集合中查找到与访问路径匹配的目标路径,则执行HTTP请求所 指示的请求操作。
[0196] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(R0M, Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者 光盘等各种可以存储程序代码的介质。
[0197] 可选地,本实施例中的存储介质还可以存储用于执行上述实施例1和实施例2中 的各个示例中的步骤的程序代码,本实施例在此不再赘述。
[0198] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0199] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品 销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软 件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一 台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例 所述方法的全部或部分步骤。
[0200] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有 详述的部分,可以参见其他实施例的相关描述。
[0201] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方 式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一 种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者 可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之 间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连 接,可以是电性或其它的形式。
[0202] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0203] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0204] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种处理HTTP请求的方法,其特征在于,包括: 接收客户端发送的HTTP请求; 从所述HTTP请求中获取由字符串表示的访问路径; 在预先建立的具有树状结构的路径节点集合中查找与所述访问路径匹配的目标路径, 其中,所述路径节点集合中从根节点到每个叶子节点的路径节点子集合表示一条被允许访 问的路径,不同的所述路径中相同的连续字符串由一个所述路径节点子集合中包括所述根 节点在内的多个相连的路径节点表示; 若在所述路径节点集合中查找到与所述访问路径匹配的所述目标路径,则执行所述 HTTP请求所指示的请求操作。2. 根据权利要求1所述的方法,其特征在于,所述在预先建立的具有树状结构的路径 节点集合中查找与所述访问路径匹配的目标路径包括: 从所述路径节点集合中查找是否存在由一个所述路径节点子集合所表示的所述目标 路径,其中,所述一个所述路径节点子集合中从所述根节点到所述叶子节点所构成的字符 串与所述HTTP请求中用于表示所述访问路径的字符串相同。3. 根据权利要求2所述的方法,其特征在于,所述从所述路径节点集合中查找是否存 在由一个所述路径节点子集合所表示的所述目标路径包括: 重复执行以下操作,直到生成查找结果,其中,当前节点初始化为所述根节点,当前字 符初始化为所述HTTP请求中用于表示所述访问路径的字符串中的校验起始字符: 判断所述当前节点是否为所述根节点; 若所述当前节点为所述根节点,则将所述当前节点设置为所述根节点的子节点; 若所述当前节点不为所述根节点,则判断所述当前节点中包含的字符是否为所述当前 字符; 若所述当前节点中包含的字符为所述当前字符,则判断所述当前节点是否为所述叶子 节点,若所述当前节点为所述叶子节点,则将所述根节点到所述当前节点所表示的路径作 为所述目标路径,并生成由第一查找信息表示的所述查找结果,其中,所述第一查找信息用 于表示在所述路径节点集合中查找到与所述访问路径匹配的所述目标路径;若所述当前节 点不为所述叶子节点,则将所述当前节点的子节点中选择一个子节点,其中,所述一个子节 点中包含的字符为所述当前字符的下一个字符,将所述一个子节点设置为所述当前节点, 并将所述当前字符的下一个字符设置为所述当前字符; 若所述当前节点中包含的字符不为所述当前字符,则生成由第二查找信息表示的所述 查找结果,其中,所述第二查找信息用于表示在所述路径节点集合中未查找到与所述访问 路径匹配的所述目标路径。4. 根据权利要求3所述的方法,其特征在于,所述校验起始字符为以下之一: 所述HTTP请求中用于表示所述访问路径的字符串中的HOST字段中的第一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的HOST字段中的最后一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的CGI字段中的第一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的CGI字段中的最后一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的第一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的最后一个字符。5. 根据权利要求1所述的方法,其特征在于,在所述接收客户端发送的HTTP请求之前, 还包括: 设置所述根节点; 设置所述根节点的子节点,其中,每个所述子节点中包含的字符表示一个所述被允许 访问的路径中的HOST字段,不同的所述被允许访问的路径中的相同的所述HOST字段由一 个所述子节点中包含的字符表示; 在每个所述子节点下设置多个路径节点直到叶子节点,其中,不同的所述被允许访问 的路径中相同的连续字符串由所述多个路径节点中的多个相连的路径节点表示。6. 根据权利要求1所述的方法,其特征在于,在预先建立的具有树状结构的路径节点 集合中查找与所述访问路径匹配的目标路径之后,还包括: 若在所述路径节点集合中未查找到与所述访问路径匹配的所述目标路径,则向所述客 户端发送用于指示拒绝访问的响应消息。7. -种处理HTTP请求的装置,其特征在于,包括: 接收单元,用于接收客户端发送的HTTP请求; 获取单元,用于从所述HTTP请求中获取由字符串表示的访问路径; 查找单元,用于在预先建立的具有树状结构的路径节点集合中查找与所述访问路径匹 配的目标路径,其中,所述路径节点集合中从根节点到每个叶子节点的路径节点子集合表 示一条被允许访问的路径,不同的所述路径中相同的连续字符串由一个所述路径节点子集 合中包括所述根节点在内的多个相连的路径节点表示; 执行单元,用于在所述路径节点集合中查找到与所述访问路径匹配的所述目标路径 时,执行所述HTTP请求所指示的请求操作。8. 根据权利要求7所述的装置,其特征在于,所述查找单元包括: 查找模块,用于从所述路径节点集合中查找是否存在由一个所述路径节点子集合所表 示的所述目标路径,其中,所述一个所述路径节点子集合中从所述根节点到所述叶子节点 所构成的字符串与所述HTTP请求中用于表示所述访问路径的字符串相同。9. 根据权利要求8所述的装置,其特征在于,所述查找模块包括: 生成子模块,用于重复执行以下操作,直到生成查找结果,其中,当前节点初始化为所 述根节点,当前字符初始化为所述HTTP请求中用于表示所述访问路径的字符串中的校验 起始字符: 判断所述当前节点是否为所述根节点; 若所述当前节点为所述根节点,则将所述当前节点设置为所述根节点的子节点; 若所述当前节点不为所述根节点,则判断所述当前节点中包含的字符是否为所述当前 字符; 若所述当前节点中包含的字符为所述当前字符,则判断所述当前节点是否为所述叶子 节点,若所述当前节点为所述叶子节点,则将所述根节点到所述当前节点所表示的路径作 为所述目标路径,并生成由第一查找信息表示的所述查找结果,其中,所述第一查找信息用 于表示在所述路径节点集合中查找到与所述访问路径匹配的所述目标路径;若所述当前节 点不为所述叶子节点,则将所述当前节点的子节点中选择一个子节点,其中,所述一个子节 点中包含的字符为所述当前字符的下一个字符,将所述一个子节点设置为所述当前节点, 并将所述当前字符的下一个字符设置为所述当前字符; 若所述当前节点中包含的字符不为所述当前字符,则生成由第二查找信息表示的所述 查找结果,其中,所述第二查找信息用于表示在所述路径节点集合中未查找到与所述访问 路径匹配的所述目标路径。10. 根据权利要求9所述的装置,其特征在于,所述校验起始字符为以下之一: 所述HTTP请求中用于表示所述访问路径的字符串中的HOST字段中的第一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的最后一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的CGI字段中的第一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的CGI字段中的最后一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的第一个字符; 所述HTTP请求中用于表示所述访问路径的字符串中的最后一个字符。11. 根据权利要求7所述的装置,其特征在于,还包括: 第一设置单元,用于在所述接收客户端发送的HTTP请求之前,设置所述根节点; 第二设置单元,用于设置所述根节点的子节点,其中,每个所述子节点中包含的字符表 示一个所述被允许访问的路径中的HOST字段,不同的所述被允许访问的路径中的相同的 所述HOST字段由一个所述子节点中包含的字符表示; 第三设置单元,用于在每个所述子节点下设置多个路径节点直到叶子节点,其中,不同 的所述被允许访问的路径中相同的连续字符串由所述多个路径节点中的多个相连的路径 节点表示。12. 根据权利要求7所述的装置,其特征在于,还包括: 发送单元,用于在预先建立的具有树状结构的路径节点集合中查找与所述访问路径匹 配的目标路径之后,若在所述路径节点集合中未查找到与所述访问路径匹配的所述目标路 径,则向所述客户端发送用于指示拒绝访问的响应消息。
【专利摘要】本发明公开了一种处理HTTP请求的方法及装置,其中,该方法包括:接收客户端发送的HTTP请求;从HTTP请求中获取由字符串表示的访问路径;在预先建立的具有树状结构的路径节点集合中查找与访问路径匹配的目标路径,其中,路径节点集合中从根节点到每个叶子节点的路径节点子集合表示一条被允许访问的路径,不同的路径中相同的连续字符串由一个路径节点子集合中包括根节点在内的多个相连的路径节点表示;若在路径节点集合中查找到与访问路径匹配的目标路径,则执行HTTP请求所指示的请求操作。本发明解决了现有技术中在处理HTTP请求时对HTTP请求进行校验的效率较低的技术问题。
【IPC分类】H04L29/06, H04L29/08
【公开号】CN104954415
【申请号】CN201410495917
【发明人】彭贵春, 许鑫城, 张海清, 苗军, 马杰, 董昭, 郑兴
【申请人】腾讯科技(深圳)有限公司
【公开日】2015年9月30日
【申请日】2014年9月24日
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1