管理http報文的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動通信技術(shù)領(lǐng)域,尤其涉及一種管理HTTP報文的方法和裝置。
【背景技術(shù)】
[0002]超文本傳輸協(xié)議(英文:Hyper Text Transfer Protocol,縮寫:HTTP)是一個終端設(shè)備和服務(wù)器之間請求和應(yīng)答的傳輸控制協(xié)議(英文:Transmiss1n Control Protocol,縮寫:TCP)。通常,終端設(shè)備發(fā)起一個請求,建立一個到服務(wù)器指定端口的TCP連接,HTTP月艮務(wù)器則在那個端口監(jiān)聽終端設(shè)備發(fā)送過來的請求報文,并發(fā)送該請求報文的響應(yīng)報文至終端設(shè)備。
[0003]在請求/響應(yīng)鏈中,還會出現(xiàn)中介設(shè)備,例如網(wǎng)關(guān)(gateway)、代理(proxy)或者通道(tunnel),用于對請求報文和響應(yīng)報文進行中轉(zhuǎn)。具體來說,終端設(shè)備將請求報文發(fā)送至網(wǎng)關(guān),再由網(wǎng)關(guān)發(fā)送至服務(wù)器。服務(wù)器響應(yīng)該請求報文時,將響應(yīng)報文發(fā)送至網(wǎng)關(guān),再由網(wǎng)關(guān)發(fā)送至終端設(shè)備。
[0004]中介設(shè)備接收來自終端設(shè)備的請求報文和來自服務(wù)器的響應(yīng)報文后,出于管理的需要(例如進行計費),需要將來自終端設(shè)備的請求報文和該請求報文的響應(yīng)報文關(guān)聯(lián)上。
[0005]現(xiàn)有技術(shù)中HT T P消息的常用版本為1.1版本,2.0版本是下一代的H T T P協(xié)議。HTTPl.1報文和HTTP2.0報文的格式完全不同。在HTTPl.1報文中,HTTP請求報文由請求行、請求頭部、空行和請求數(shù)據(jù)組成,HTTP響應(yīng)報文是由狀態(tài)行、消息報頭和響應(yīng)數(shù)據(jù)組成,網(wǎng)關(guān)根據(jù)HTTP請求報文中的請求頭部和HTTP響應(yīng)報文中的消息報頭將HTTP請求報文和該請求報文的響應(yīng)報文關(guān)聯(lián)上。
[0006]HTTP2.0的基本協(xié)議單位是幀。每個幀都有不同的類型和用途。例如,HEADERS幀和DATA幀組成了基本的HTTP請求和HTTP響應(yīng)。在HTTP2.0協(xié)議中請求多路復(fù)用,也即通過在一個流上分配多個HTTP請求響應(yīng)交換,中介設(shè)備將同一個流中以相同的順序接收到的請求報文和響應(yīng)報文關(guān)聯(lián)上。
[0007]然而,當終端設(shè)備向服務(wù)器發(fā)送HTTP1.1請求報文,其中該請求報文中攜帶有升級協(xié)商字段時,且服務(wù)器同意升級并向終端設(shè)備發(fā)送HTTP2.0響應(yīng)報文時,中介設(shè)備無法將該HTTPl.1請求報文和HTTP2.0響應(yīng)報文關(guān)聯(lián)上。
【發(fā)明內(nèi)容】
[0008]本發(fā)明實施例第一方面提供了一種管理HTTP報文的方法,包括:
[0009]接收終端設(shè)備發(fā)送的超文本傳輸協(xié)議HTTP請求報文,其中,所述HTTP請求報文為低于2.0版本的報文;
[0010]當識別到所述HTTP請求報文中攜帶有升級字段時,建立所述HTTP請求報文與預(yù)置流標識的對應(yīng)關(guān)系,其中,所述升級字段用于協(xié)商將HTTP報文升級至2.0版本;
[0011]將所述HTTP請求報文發(fā)送至服務(wù)器;
[0012]接收所述服務(wù)器發(fā)送的HTTP響應(yīng)報文,所述HTTP響應(yīng)報文包括2.0版本的報文數(shù)據(jù);
[0013]當所述HTTP響應(yīng)報文包括所述預(yù)置流標識時,確定所述HTTP響應(yīng)報文為所述HTTP請求報文的響應(yīng)報文。
[0014]結(jié)合第一方面,在第一方面的第一種可能的實施方式中,所述將所述HTTP請求報文發(fā)送至服務(wù)器,之前還包括:
[0015]確定所述HTTP請求報文的計費原則;
[0016]所述確定所述HTTP響應(yīng)報文為所述HTTP請求報文的響應(yīng)報文,之后還包括:
[0017]根據(jù)所述計費原則對所述HTTP請求報文的響應(yīng)報文進行計費。
[0018]結(jié)合第一方面,在第一方面的第二種可能的實施方式中,所述預(yù)置流標識為I。
[0019]結(jié)合第一方面,在第一方面的第三種可能的實施方式中,所述HTTP請求報文為GET請求報文。
[0020]結(jié)合第一方面,在第一方面的第四種可能的實施方式中,所述建立所述HTTP請求報文與預(yù)置流標識的對應(yīng)關(guān)系,包括:
[0021]建立映射表,所述映射表存有所述預(yù)置流標識和報文標識,所述報文標識用于唯一標識所述HTTP請求報文。
[0022 ]本發(fā)明實施例第二方面提供了一種管理HTTP報文的裝置,包括:
[0023]第一接收模塊,用于接收終端設(shè)備發(fā)送的超文本傳輸協(xié)議HTTP請求報文,其中,所述HTTP請求報文為低于2.0版本的報文;
[0024]建立模塊,用于當識別到所述HTTP請求報文中攜帶有升級字段時,建立所述HTTP請求報文與預(yù)置流標識的對應(yīng)關(guān)系,其中,所述升級字段用于協(xié)商將HTTP報文升級至2.0版本;
[0025]發(fā)送模塊,用于將所述HTTP請求報文發(fā)送至服務(wù)器;
[0026]第二接收模塊,用于接收所述服務(wù)器發(fā)送的HTTP響應(yīng)報文,所述HTTP響應(yīng)報文包括2.0版本的報文數(shù)據(jù);
[0027]確定模塊,用于當所述HTTP響應(yīng)報文包括所述預(yù)置流標識時,確定所述HTTP響應(yīng)報文為所述HTTP請求報文的響應(yīng)報文。
[0028]結(jié)合第二方面,在第二方面的第一種可能的實施方式中,所述管理HTTP報文的裝置還包括計費裝置,用于在將所述HTTP請求報文發(fā)送至服務(wù)器之前,確定所述HTTP請求報文的計費原則,還用于在確定所述HTTP響應(yīng)報文為所述HTTP請求報文的響應(yīng)報文之后,根據(jù)所述計費原則對所述HTTP請求報文的響應(yīng)報文進行計費。
[0029]結(jié)合第二方面,在第二方面的第二種可能的實施方式中,所述預(yù)置流標識為I。
[0030]結(jié)合第二方面,在第二方面的第三種可能的實施方式中,所述HTTP請求報文為GET請求報文。
[0031]結(jié)合第二方面,在第二方面的第四種可能的實施方式中,所述建立模塊具體用于建立映射表,所述映射表存有所述預(yù)置流標識和報文標識,所述報文標識用于唯一標識所述HTTP請求報文。。
[0032]從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
[0033]本實施例中,在HTTP請求報文攜帶有用于協(xié)商升級到HTTP2.0時,通過建立HTTP請求報文與預(yù)置流標識的對應(yīng)關(guān)系,以便在接收到包括HTTP2.0版本的響應(yīng)數(shù)據(jù)的響應(yīng)報文時,若該HTTP2.0響應(yīng)報文中攜帶有該預(yù)置流標識,則可將該HTTP2.0響應(yīng)報文和低于2.0版本的HTTP請求報文關(guān)聯(lián)上,便于中介設(shè)備對HTTP報文的管理。
【附圖說明】
[0034]圖1為本發(fā)明實施例提供的通信系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖;
[0035]圖2為圖1所示通信系統(tǒng)的管理HTTP報文的方法的一個實施例的流程示意圖;
[0036]圖3為本發(fā)明的管理HTTP報文的方法的一個實施例的流程示意圖;
[0037]圖4為本發(fā)明的管理HTTP報文的裝置的一個實施例的結(jié)構(gòu)示意圖;
[0038]圖5為本發(fā)明的管理HTTP報文的裝置的另一個實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0039]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。
[0040]本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”“第四”等是用于區(qū)別不同的對象,而不是用于描述特定順序。此外,術(shù)語“包括”和“具有”以及它們?nèi)魏巫冃危鈭D在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0041]為了方便理解本發(fā)明實施例,首先在此介紹本發(fā)明實施例描述中會引入的通信系統(tǒng)。如圖1所示,圖1為本發(fā)明實施例提供的通信系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖。通信系統(tǒng)包括終端設(shè)備11、中介設(shè)備12和服務(wù)器13。其中,終端設(shè)備指的是安裝有應(yīng)用程序的客戶端的設(shè)備,例如手機、電腦、筆記本、智能手表等等。中介設(shè)備12可以是網(wǎng)關(guān)(gateway)、代理(proxy)或者通道(tunne I ),在此不作限制。
[0042]請參閱圖2,圖2為圖1所示通信系統(tǒng)的管理HTTP報文的方法的一個實施例的流程示意圖。請參閱圖2,圖2為圖2所示通信系統(tǒng)的管理HTTP報文的方法的一個實施例的流程示意圖。
[0043]S21、終端設(shè)備與服務(wù)器建立TCP連接。
[0044]S22、終端設(shè)備向中介設(shè)備發(fā)送HTTP請求報文。
[0045]本實施例中,該HTTP請求報文為低于2.0版本的報文。具體的,該HTTP請求報文可以是0.9版本、1.0版本或者1.1版本的請求報文,在此不作限制。該HTTP請求報文中攜帶有升級字段,用于和服務(wù)器協(xié)商將HTTP協(xié)議升級至2.0版本。具體的,該升級字段可以