[發(fā)明專利]處理HTTP請求的方法及裝置有效
| 申請?zhí)枺?/td> | 201410495917.3 | 申請日: | 2014-09-24 |
| 公開(公告)號: | CN104954415B | 公開(公告)日: | 2019-06-21 |
| 發(fā)明(設(shè)計)人: | 彭貴春;許鑫城;張海清;苗軍;馬杰;董昭;鄭興 | 申請(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06 |
| 代理公司: | 北京康信知識產(chǎn)權(quán)代理有限責(zé)任公司 11240 | 代理人: | 江舟;吳貴明 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 處理 http 請求 方法 裝置 | ||
1.一種處理HTTP請求的方法,其特征在于,包括:
接收客戶端發(fā)送的HTTP請求;
從所述HTTP請求中獲取由字符串表示的訪問路徑;
在預(yù)先建立的具有樹狀結(jié)構(gòu)的路徑節(jié)點集合中查找與所述訪問路徑匹配的目標路徑,其中,所述路徑節(jié)點集合中從根節(jié)點到每個葉子節(jié)點的路徑節(jié)點子集合表示一條被允許訪問的路徑,不同的所述路徑中相同的連續(xù)字符串由一個所述路徑節(jié)點子集合中包括所述根節(jié)點在內(nèi)的多個相連的路徑節(jié)點表示;
若在所述路徑節(jié)點集合中查找到與所述訪問路徑匹配的所述目標路徑,則執(zhí)行所述HTTP請求所指示的請求操作;
其中,在預(yù)先建立的具有樹狀結(jié)構(gòu)的路徑節(jié)點集合中查找與所述訪問路徑匹配的目標路徑包括:從根節(jié)點開始比較訪問路徑中的字符與路徑節(jié)點中的字符是否相同,其中,在將訪問路徑中的字符與具有多個子節(jié)點的路徑節(jié)點進行比對之后選擇一個子節(jié)點所在的分支繼續(xù)與訪問路徑中剩余的字符進行比對,若所述一個子節(jié)點所在的分支比對結(jié)果失敗,則轉(zhuǎn)到所述路徑節(jié)點中除所述一個子節(jié)點之外的其他子節(jié)點所在的分支進行比對;
其中,每一個路徑節(jié)點中包括:節(jié)點類型、匹配模式和節(jié)點字符,所述匹配模式包括:前綴匹配和后綴匹配, 其中,所述前綴匹配指從前往后依次讀取HTTP請求中訪問路徑中的字符,所述后綴匹配指從后往前依次讀取HTTP請求中訪問路徑中的字符。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在預(yù)先建立的具有樹狀結(jié)構(gòu)的路徑節(jié)點集合中查找與所述訪問路徑匹配的目標路徑包括:
從所述路徑節(jié)點集合中查找是否存在由一個所述路徑節(jié)點子集合所表示的所述目標路徑,其中,所述一個所述路徑節(jié)點子集合中從所述根節(jié)點到所述葉子節(jié)點所構(gòu)成的字符串與所述HTTP請求中用于表示所述訪問路徑的字符串相同。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述從所述路徑節(jié)點集合中查找是否存在由一個所述路徑節(jié)點子集合所表示的所述目標路徑包括:
重復(fù)執(zhí)行以下操作,直到生成查找結(jié)果,其中,當前節(jié)點初始化為所述根節(jié)點,當前字符初始化為所述HTTP請求中用于表示所述訪問路徑的字符串中的校驗起始字符:
判斷所述當前節(jié)點是否為所述根節(jié)點;
若所述當前節(jié)點為所述根節(jié)點,則將所述當前節(jié)點設(shè)置為所述根節(jié)點的子節(jié)點;
若所述當前節(jié)點不為所述根節(jié)點,則判斷所述當前節(jié)點中包含的字符是否為所述當前字符;
若所述當前節(jié)點中包含的字符為所述當前字符,則判斷所述當前節(jié)點是否為所述葉子節(jié)點,若所述當前節(jié)點為所述葉子節(jié)點,則將所述根節(jié)點到所述當前節(jié)點所表示的路徑作為所述目標路徑,并生成由第一查找信息表示的所述查找結(jié)果,其中,所述第一查找信息用于表示在所述路徑節(jié)點集合中查找到與所述訪問路徑匹配的所述目標路徑;若所述當前節(jié)點不為所述葉子節(jié)點,則在 所述當前節(jié)點的子節(jié)點中選擇一個子節(jié)點,其中,所述一個子節(jié)點中包含的字符為所述當前字符的下一個字符,將所述一個子節(jié)點設(shè)置為所述當前節(jié)點,并將所述當前字符的下一個字符設(shè)置為所述當前字符;
若所述當前節(jié)點中包含的字符不為所述當前字符,則生成由第二查找信息表示的所述查找結(jié)果,其中,所述第二查找信息用于表示在所述路徑節(jié)點集合中未查找到與所述訪問路徑匹配的所述目標路徑。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述校驗起始字符為以下之一:
所述HTTP請求中用于表示所述訪問路徑的字符串中的HOST字段中的第一個字符;
所述HTTP請求中用于表示所述訪問路徑的字符串中的HOST字段中的最后一個字符;
所述HTTP請求中用于表示所述訪問路徑的字符串中的CGI字段中的第一個字符;
所述HTTP請求中用于表示所述訪問路徑的字符串中的CGI字段中的最后一個字符;
所述HTTP請求中用于表示所述訪問路徑的字符串中的第一個字符;
所述HTTP請求中用于表示所述訪問路徑的字符串中的最后一個字符。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410495917.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于HTTP的通信方法及系統(tǒng)、HTTP服務(wù)器、HTTP客戶端
- 用于處理HTTP消息的方法以及實現(xiàn)其的電子裝置
- HTTP報文處理方法及系統(tǒng)、HTTP客戶端及服務(wù)器
- 一種信息傳輸方法、裝置及無線通信系統(tǒng)
- 發(fā)起HTTP請求的方法及裝置
- 一種基于HTTP的應(yīng)用響應(yīng)推送方法及代理服務(wù)器
- 一種針對HTTP Flood攻擊的防護方法及系統(tǒng)
- 一種交互方法、客戶端設(shè)備及服務(wù)端設(shè)備
- H5跨引擎客戶端數(shù)據(jù)自動化更新的方法、存儲介質(zhì)
- 一種基于代理的HTTP報文采集方法、終端設(shè)備及存儲介質(zhì)





