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

文档序号:9238205阅读:来源:国知局
字段中的字符"/t"对应的路径节点依 次为路径节点"D,P,/"、"D,P,t",其中,路径节点"D,P,/"为路径节点"H,P,CGI"的子节 点。
[0150] 可选地,在本实施例中,当不同的路径中包括相同的连续字符串,则与上述相同的 连续字符串对应的路径可由一个包括上述根节点在内的多个相连的路径节点构成的路径 节点子集合表示。
[0151] 具体结合图3所示的示例进行说明,假设从终端102中的客户端ID_1,客户端 ID_2接收的HTTP请求中获取由字符串表示的访问路径为:
[0152] 1)Host: 〇.mCGI:/t;
[0153] 2)Host:m. 〇?mCGI:null。
[0154] 其中,两个不同路径中HOST包括相同的连续字符串"o.m",则可以如图3所示, 将相同的连续字符串所对应的路径节点合并,使得两条路径共用相同的路径节点子集合: "D,S,m"、"D,S,? "、"D,S,〇"。
[0155] 作为一种可选的方案,如图9所示,查找单元806包括:
[0156] 1)查找模块902,用于从路径节点集合中查找是否存在由一个路径节点子集合所 表示的目标路径,其中,一个路径节点子集合中从根节点到叶子节点所构成的字符串(例 如,上述路径1中的字符串"Host:o.mCGI:/t")与访问路径中的字符串(例如,"Host:o. mCGI:/t")相同。
[0157] 可选地,在本实施例中,上述路径节点中可以包括但不限于一个节点字符,则一个 路径节点子集合中从根节点到叶子节点所构成的字符串与访问路径中的字符串相同可以 包括但不限于:上述路径中的多个连续路径节点中的字符分别与HTTP请求中获取的访问 路径中的字符相同。
[0158] 具体结合以下示例进行说明,假设从HTTP请求中获取的由字符串标识的访问路 径为H0ST:QQ.C0M,则在预先建立的具有树状集合的路径节点集合中查找各个路径中路径 节点中的节点字符是否与访问路径中的字符依次相同,若相同,则表示上述路径节点子集 合中从根节点到叶子节点所构成的字符串与访问路径中的字符串相同,进而可以判断出在 所述路径节点集合中查找到与所述访问路径匹配的所述目标路径。
[0159] 通过本申请提供的实施例,通过在预先建立的具有树状结构的路径节点集合中查 找与访问路径匹配的目标路径,从而减少了对所有路径的遍历,进而实现了缩短对HTTP请 求的校验时间,提高了执行HTTP请求所指示的请求操作的效率。
[0160] 作为一种可选的方案,查找模块902包括:
[0161] 1)生成子模块,用于重复执行以下操作,直到生成查找结果,其中,当前节点初始 化为根节点,当前字符初始化为HTTP请求中用于表示访问路径的字符串中的校验起始字 符:
[0162] S1,判断当前节点是否为根节点"H,root,' ;
[0163] S2,若当前节点为根节点,则将当前节点设置为根节点的子节点,例如,图3所示 的路径节点"H,S,HOST" ;
[0164] S3,若当前节点不为根节点,则判断当前节点中包含的字符是否为当前字符;
[0165] S4,若当前节点中包含的字符为当前字符,则判断当前节点是否为叶子节点,若当 前节点为叶子节点,则将根节点到当前节点所表示的路径作为目标路径,并生成由第一查 找信息表示的查找结果,其中,第一查找信息用于表示在路径节点集合中查找到与访问路 径匹配的目标路径;若当前节点不为叶子节点,则将当前节点的子节点中选择一个子节点, 其中,一个子节点中包含的字符为当前字符的下一个字符,将一个子节点设置为当前节点, 并将当前字符的下一个字符设置为当前字符;
[0166] 例如,以字符串为"H〇st:〇.mCGI:/t"为例,假设上述字符串中HOST字段采用"从 后缀到前缀"的顺序排列,CGI字段采用"从前缀到后缀"或"从前缀开始"的顺序排列,则字 符串中字符的顺序为:"H〇st","m","?","〇","CGI","/","t",S卩,"Host"的下一个字符为 "111","111"的下一个字符为".","."的下一个字符为"〇"," 〇"的下一个字符为"061","061" 的下一个字符为的下一个字符为"t"。
[0167] 也就是说,上述当前字符的下一个字符可以为HTTP请求中用于表示访问路径的 字符串中当前字符的下一个字符,其中,上述字符串中的字符按照与匹配模式对应的排列 顺序排列。
[0168] S5,若当前节点中包含的字符不为当前字符,则生成由第二查找信息表示的查找 结果,其中,第二查找信息用于表示在路径节点集合中未查找到与访问路径匹配的目标路 径。
[0169]可选地,在本实施例中,上述校验起始字符包括但不限于以下之一:
[0170] 1)HTTP请求中用于表示访问路径的字符串中的HOST字段中的第一个字符,例如, 当访问路径为"Host:o.mCGI: /t"时,HOST字段中的第一个字符为"m"或"HOST" ;
[0171] 2)HTTP请求中用于表示访问路径的字符串中的HOST字段中的最后一个字符,例 如,当访问路径为"Host:o.mCGI:/t"时,HOST字段中的最后一个字符为"〇";
[0172] 3)HTTP请求中用于表示访问路径的字符串中的CGI字段中的第一个字符,例如, 当访问路径为"Host:o.mCGI:/t"时,CGI字段中的第一个字符为"/"或"CGI" ;
[0173] 4)HTTP请求中用于表示访问路径的字符串中的CGI字段中的最后一个字符,例 如,当访问路径为"H〇st:〇.mCGI:/t"时,CGI字段中的最后一个字符为"t";
[0174] 5)HTTP请求中用于表示访问路径的字符串中的第一个字符,例如,当访问路径为 "Host: 〇?mCGI: /t" 时,第一个字符为 "m" 或 "HOST" ;
[0175]6)HTTP请求中用于表示访问路径的字符串中的最后一个字符,例如,当访问路径 为"Host: 〇?mCGI:/t"时,最后一个字符为"t" ;
[0176] 具体结合图3所示的示例进行描述,假设当前节点为访问路径(例如,"H〇st:〇. mCGI:/t")中HOST字段对应的路径节点"H,S,HOST"、且路径节点"H,S,HOST"中的字符 "Host"与当前字符"Host"相同,则将该路径节点"H,S,HOST"的子节点"D,S,m"设置为 当前节点,并将访问路径中的HOST字段中当前字符的下一个字符"m"设置为当前字符。然 后,判断当前节点"D,S,m"中的字符是否为当前字符"m"。由于当前节点中的字符与当前 字符相同,因此,继续将路径节点"D,S,m"的子节点"D,S,. "设置为当前节点,并将访问路 径中的HOST字段中位于当前字符之后的下一个字符"设置为当前字符,以此类推。
[0177]若当前节点为叶子节点"D,P,t"、且路径节点"H,S,HOST"中的字符"t"与当前字 符"t"相同,则将上述根节点"H,root"到叶子节点"D,P,t"所表示的路径作为目标路径, 并生成查找结果。
[0178] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0179] 实施例3
[0180]本发明的实施例还提供了一种用于实施处理HTTP请求的方法的服务器,如图1所 示的服务器104。可选地,在本实施例中,上述服务器可以为如图1所示的网络环境中的服 务器,其中,发送HTTP请求的客户端可以但不限于位于图1所示的终端102中,图1所示 的服务器104将通过网络接收上述HTTP请求,其中,上述服务器104也可以用终端替换。 可选地,在本实施例中,上述网络可以包括但不限于:广域网、城域网、局域网。上述服务器 104将从上述HTTP请求中获取由字符串表示的访问路径,并查找与上述访问路径匹配的目 标路径,并在查找到上述目标路径后,执行上述HTTP请求所指示的请求操作。可选地,在本 实施例中,上述终端可以包括但不限于:手机、平板电脑、笔记本电脑、PC机。
[0181]可选地,在本实施例中,如图12所示,上述一种用于实施处理HTTP请求的方法的 服务器包括:
[0182] 1)通讯接口;例如,IEEE802. 11网络接口 1202,以及,IEEE802. 16网络接口 1204,用于接收客户端发送的HTTP请求;可选地,上述IEEE802. 11网络接口 1202以及IEEE 802. 16网络接口 1204仅为一种示例,本实施例中的通讯接口可以仅包括IEEE802. 11网络 接口 1202以及IEEE802. 16网络接口 1204中的一个,或者,包括其他接口,本实施例对此 不作限定。
[0183] 2)处理器1206,被设置为:从HTTP请求中获取由字符串表示的访问路径;在预先 建立的具有树状结构的路径节点集合中查找与访问路径匹配的目标路径,其中,路径节点 集合中从根节点到每个叶子节点的路径节点子集合表示一条被允许访问的路径,不同的路 径中相同的连续字符串由一个路径节点子集合中包括根节点在内的多个相连的路径节点 表示;在路径节点集合中查找到与访问路径匹配的目标路径时,执行HTTP请求所指示的请 求操作。
[0184] 3)存储器1208,被设置存储HTTP请求中获取的由字符串表示的访问路径,以及在 预先建立的具有树状结构的路径节点集合。
[0185] 可选地,在本实施例中,上述服务器还可以包括键盘1212和显示器1214,其中,键 盘1212和显示器1214通过设备接口 1210与处理器1206连接。需要说明的是,上述键盘 1212和显不器1214仅是一种不例,本实施例中的服务器可以包括键盘1212和显不器1214 中的一个,或者,包括其他外围设备,或者不包括这些外围设备,本实施例对此不作限定。
[0186] 可选地,在本实施例中,上述存储器中存储的内容也可以从除服务器104之外的 其他服务器获取,本实施例对此不做任何限定。
[0187] 可选地,在本实施例中,上述存储器还可以用于存储上述实施例1中的处理HTTP 请求的方法中所存储的其他数据。
[0188] 可选地,本实施例中的各个部件(例如,处理器1206)所执行的具体操作可以参考 上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
[0189] 实施例4
[0190] 本发明的实施例还提供了一种用于实施处理HTTP请求的方法的存储介质。可选 地,在本实施例中,上述存储介质可以应用于如图1所示的网络环境中的一个终端或服务 器中,其中,发送HTTP请求的客户端可以但不限于位于图1所示的终端102中,图1所示 的服务器104将通过网络接收上述HTTP请求,其中,上述服务器104也可以用终端替换。 可选地,在本实施例中,上述网络可以包括但不限于:广域网、城域网、局域网。上述服务器 104将从上述HTTP请求中获取由字符串表示的访问路径,并查找与上述访问路径匹配的目 标路径,并在查找到上述目标路径后,执行上述HTTP请求所指示的请求操作。可选地,在本 实施例中,上述终端可以包括但不限于:手机、平板电脑、笔记本电脑、PC机。
[0191] 可选地,在本实施例中,上述存储介质被设置为存储用于执行以下步骤的程序代 码:
[0192]S1,接收客户端发送的HTTP请求;
[0193]S2,从HTTP请求中获取由字符串表示的访问路径;
[0194]S3,在预先建立的具有树状结构的路径节点集合中查找与访问路径匹配的目标路 径,其中,路径节点集合中从根节点到每个叶子节点的路
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1