專利名稱:一種網頁信息處理方法和裝置的制作方法
技術領域:
本申請涉及網絡技術領域,特別是涉及一種網頁信息處理方法和裝置。
背景技術:
用戶瀏覽網頁是上網的一個主要需求,主要是瀏覽器通過HTTP協議(超文本傳送協議)與Web服務器建立訪問請求,Web服務器將相應的網頁內容返回給瀏覽器。超文本傳送協議(HTTP)是一種通信協議,它允許將超文本標記語言(HTML)文檔從Web服務器傳送到Web瀏覽器。HTML是一種用于創建文檔的標記語言,這些文檔包含到相關信息的鏈接,用戶可以單擊一個鏈接來訪問其它文檔、圖像或多媒體對象,并獲得關于鏈接項的附加信息。客戶機和服務器必須都支持HTTP,才能在萬維網上發送和接收HTML文檔并進行交互。HTTP是一個屬于應用層的面向對象的協議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統。隨著網絡的發展,HTTP協議也隨著發展,而在HTTP1. I以前的HTTP協議版本,如HTTP1. O,即不支持網頁的壓縮傳輸,在采用HTTP1. I的很多Web服務器也未配置支持網頁壓縮傳輸的功能。并且,基于歷史原因,現有網絡中存在大量的采用HTTP1.0協議的Web服務器。基于上述情況,現有技術中,對于用戶瀏覽的各種網頁中,其中可能存在大量未能以壓縮模式傳輸的網頁內容,加大了頁面返回的傳輸時間;并且,對于存在流量限制的用戶來說,浪費了用戶流量。
發明內容
本申請所要解決的技術問題是提供一種網頁信息處理方法和裝置,對于用戶瀏覽的各未支持網頁壓縮功能的各網頁,降低了頁面返回的傳輸時間,節省了用戶的流量。為了解決上述問題,本申請公開了一種網頁信息處理方法,包括接收客戶端的網頁請求;解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器;接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式;如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至
客戶端。優選的,接收到客戶端的網頁請求后包括判斷客戶端的網頁請求是否為動態網頁請求;如果是,則根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中。
優選的,接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式,判斷不是壓縮模式之后包括判斷所述目標服務器響應是否為動態頁面;
如果不是,則對所網頁進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端;如果是,則查找所述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識,并將所述會話標識與響應的會話圖數據結構中的會話標識進行匹配;若匹配上,則對響應的會話中的內容進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端。優選的,根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中包括在代理服務器添加監聽事件,監聽代理服務器的套接字;代理服務器從套接字中獲取客戶端的網頁請求報文,按超文本傳輸協議解析客戶端IP地址和客戶端端口號,目標服務器IP地址和目標服務器端口號,客戶端Cookie列表;依據得到的客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口號構成的五元組,計算所述五元組的MD5值;根據所述MD5值生成會話標識,并將所述會話標識插入相應會話圖數據結構中。優選的,接收客戶端的網頁請求之前還包括在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。優選的,在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址包括通過鉤子函數鉤取系統域名查詢函數,通過所述域名查詢函數將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。相應的,本申請公開了一種網頁信息處理裝置,包括網頁請求接收模塊,用于接收客戶端的網頁請求;網頁請求處理模塊,用于解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器;響應內容判斷模塊,用于接收目標服務器的響應后,檢查所述響應的內容是否為壓縮模式;壓縮處理模塊,用于如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。優選的,接收到客戶端的網頁請求后包括第一判斷子模塊,用于判斷客戶端的網頁請求是否為動態網頁請求;會話標識生成模塊,用于如果是,則根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口、和/或客戶端Cookie列表生成會話標識,并將所述會話標識加入會話圖數據結構中。優選的,所述壓縮處理模塊包括
第二判斷子模塊,用于判斷所述目標服務器響應是否為動態頁面;第一壓縮發送子模塊,用于如果不是,則對所網頁進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端;第二壓縮發送子模塊,用于如果是,則查找所述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識,并將所述會話標識與響應的會話圖數據結構中的會話標識進行匹配;若匹配上,則對響應的會話中的內容進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端。
優選的,所述會話標識生成模塊包括監聽分析子模塊,用于在代理服務器添加監聽事件,監聽代理服務器的套接字;代理服務器從套接字中獲取客戶端的網頁請求報文,按超文本傳輸協議解析客戶端IP地址和客戶端端口號,目標服務器IP地址和目標服務器端口號,解析客戶端Cookie列表;計算子模塊,用于依據得到的客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口號五元組,計算所述五元組的MD5值;會話標識生成子模塊,用于根據所述MD5值生成會話標識,并將所述會話標識插入相應會話圖數據結構中。優選的,接收客戶端的網頁請求之前,在客戶端包括IP地址替換模塊,用于在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。與現有技術相比,本申請包括以下優點本申請利用代理服務器,將用戶瀏覽的各web服務器返回的為壓縮的頁面,根據客戶端可接收和解析的壓縮格式,在代理服務器中壓縮完畢后再發送給客戶端,如此,可減少因為網絡對頁面內容的傳輸量,從而可節省頁面內容在網絡中傳輸的時間;并且,對于用戶訪問的不能進行壓縮傳輸的網站的網頁內容,由于減少了網絡對頁面內容的傳輸量,從而可節省客戶端的流量,對于存在流量限制的客戶端來說,使其可在同等流量限制的條件下訪問更多的網站,獲取更多的信息。比如對于使用現有3G的移動終端用戶來說,一般都存在流量限制,還比如對于教育網用戶來說,也一般存在流量限制,那么通過本申請即可在同等流量的條件下,訪問更多的網站或網頁。
圖I是本申請一種網頁彳目息處理方法的流程不意圖;圖2是本申請一種網頁信息處理裝置的結構示意圖;圖3是本申請一種網頁信息處理系統的結構示意圖。
具體實施例方式為使本申請的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本申請作進一步詳細的說明。本申請的核心思想之一在于,針對無法將網頁內容以壓縮模式返回給客戶端的情況,通過代理服務器根據客戶端的可解析的壓縮格式進行壓縮,并將壓縮后的包返回至客戶端。參照圖1 ,示出了本申請一種網頁信息處理方法的流程示意圖,包括步驟110,接收客戶端的網頁請求。對于客戶端來說,其可能訪問各種類型的web網站,而這些各種類型的web網站采用的可能是不同版本的HTTP協議。而基于歷史原因,現在大量存在HTTP1.0的web服務器,而HTTP1. O的web服務器不支持頁面壓縮傳輸的功能。同時,由于對于web網站來說,即使采用HTTP1. I協議進行構建,如果對于各網頁都進行壓縮傳輸,可能影響服務器的性能,從而許多HTTP1. Iweb服務器也可能不會配置頁面壓縮傳輸功能。那么在這種情況下,客戶端可將其網頁請求發送至本申請的代理服務器中,由代理服務器接收客戶端的網頁請求,然后代理服務器對于目標服務器的網頁請求響應,如果未壓縮,則對其進行壓縮傳輸至客戶端。優選的,接收客戶端的網頁請求之前還包括在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。在實際中,如果客戶端需要通過本申請訪問網站,節省流量時,首先需要將網頁請求發送至本代理。那么在網頁請求發送時,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址,即可保證客戶端的網頁請求發送至本申請的代理服務器。進一步的,在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址包括通過鉤子函數鉤取系統域名查詢函數,通過所述域名查詢函數將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。實際中,所述域名查詢函數為
getaddrinfoo在實際中,當客戶端瀏覽器初始化時,通過鉤子函數鉤取(hook)系統域名查詢函數getaddrinfo,然后對于客戶端的網頁請求,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。在實際中,用戶端通過發送HTTP請求報文至代理服務器,從代理服務器獲取HTTP響應報文。在實際中,用戶端會發送HTTP GET請求至代理服務器,比如訪問www. baidu. com的HTTP GET請求示例部分如下GET/HTTP/1. IAccept :氺/氺Accept-Language :zh_cnUser-Agent Moz i I la/4. O (compatible ;MS IE 8. 0 ;ff indows NT 5. I ;Trident/4. 0 ;. NET CLR 2. 0. 50727 ;. NET CLR 3. 0. 04506. 648 ;. NET CLR3. 5. 21022 ;.NET CLR 3. 0. 4506. 2152 ;. NET CLR 3. 5. 30729 ;. NET CLRl. I. 4322 ;. NET4. OC ;. NET4. OE ;WffTClient2 ;IE0006_verl ;EN_US ;360SE)Accept-Encoding gzip, deflateHost www. baidu. comConnection Keep-Alive
其中請求的第一部分說明了該請求是一個GET請求,該行的第二部分是一個斜杠(/),用來說明請求的是該域名的根目錄.該行的最后一部分說明使用的是HTTP1.1版本(另一個可選薦是I. O).第2行是請求的第一個請求頭部User_Agent :產生請求的瀏覽器類型。Accept 客戶端可識別的內容類型列表。Host :請求的主域名。Connection :Keep_Alive,表示保持連接,客戶端和代理服務器之間用于傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接。一般Ke印-Alive不會永久保持連接,它有一 個保持時間,可以在不同的服務器軟件(如Apache)中設定這個時間。實際中,在報文中,請求頭部后面存在一個空行,發送回車符和換行符,通知服務器以下不再有請求頭。其中,Host中的 www. baidu. com 加上“GET/HTTP/1. I” 中第一個“/” 后 “HTTP” 之前的請求相對主機路徑,為一個完整的客戶端HTTP請求的URL。比如對于“ww. baidu. com/s wd = Chinese”這個 URL,那么“s wd = Chinese”即寫在第一個“/”后“HTTP”之前,即 “GET/s wd = Chinese HTTP/1. I” 形式。步驟120,解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器;當代理服務器接收到客戶端發送的網頁請求后,解析所述網頁請求,即前述網頁請求報文,獲得客戶端可接收的壓縮格式,即客戶端可以接收并且在客戶端瀏覽器中可以進行解析的壓縮格式。然后將所述客戶端的接收壓縮格式對應客戶端標識存儲與代理服務器中,以備后續步驟使用。在本步驟中,為了獲取客戶端網頁請求對應的目標服務器的網頁內容,代理服務器還會將客戶端的網頁請求轉發至目標服務器。在實際轉發的過程中,代理服務器會以網頁請求中的域名重構網頁請求轉發至目標服務器,即代理服務器以自身屬性構造前述User-Agent,針對客戶端的網頁請求中的URL重構網頁請求,然后轉發至目標服務器。在本步驟中,優選的,接收到客戶端的網頁請求后包括步驟SI,判斷客戶端的網頁請求是否為動態網頁請求;實際中,是與靜態網頁相對應的,也就是說,網頁URL的后綴不是htm、html、shtml、xml等形態,而是以aspxasp、sp、php、perl、cgi等形式為后綴,在動態網頁網址URL中有一個標志性的符號“?”,因此,可通過判斷網頁請求的URL中是否包括“? ”判定網頁請求是否為動態;如果包括,那么所述網頁請求即為動態網頁請求,如果不包括,那么所述網頁請求即為靜態網頁請求。比如前述URL “ww. baidu. com/s wd = Chinese”,其中存在“?”那么該URL對應的網頁請求即為動態網頁請求;對于前述URL “■· baidu. com”,其中不存在“ ? ”,那么該URL對應的網頁請求即為靜態網頁請求。步驟S2,如果是,則根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中。對于客戶端的動態網頁請求,在客戶端與代理服務器,代理服務器與目標服務器交互過程中,需要通過會話圖數據結構(session map)進行交互,而這兩個過程中的session map需要以一定的標識標志是哪一個客戶端在請求,是哪一個目標服務器在提供所述請求的網頁內容。那么此時,可根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中。在實際中,客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口必然存在,而在客戶端第一次發送網頁請求到服務器時,不一定存在,因為cookie信息的內容服務器為該客戶端生成,然后發送至客戶端,客戶端對其進行處理后獲得本地的cookie信 息。當客戶端的網頁請求中不存在cookie信息時,所述5元組中的cookie信息即為缺省。進一步的,根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中包括步驟S21,在代理服務器添加監聽事件,監聽代理服務器的套接字;現有技術中,網絡中各終端的應用程序一般是通過套接字進行數據傳輸的,比如客戶端瀏覽器與代理服務器,代理服務器與web服務器之間。那么即可通過添加套接字監聽事件獲取其中的數據。步驟S22,代理服務器從套接字中獲取客戶端的網頁請求報文,按超文本傳輸協議解析客戶端IP地址和客戶端端口號,目標服務器IP地址和目標服務器端口號,客戶端Cookie 列表;在實際中,客戶端發送HTTP請求之前,一般會發送網頁請求報文至代理服務器進行連接。在客戶端發送的網頁請求報文中,包括了目標服務器IP地址和目標服務器端口號,本申請在客戶端發送的網頁請求報文中采用私有參數的形式將客戶端IP和端口進行設置,當代理服務器接收到所述網頁請求報文后,解析到目標服務器IP和端口號,客戶端IP和端口號后,再將所述網頁請求報文中的私有參數刪除,再進行發送。在實際中,當客戶端存在cookie信息時,客戶端的網頁請求還包括了客戶端對應網站主域名的cookie列表信息,那么代理服務器可根據HTTP協議解析客戶端的cookie列表。步驟S24,依據得到的客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口號構成的五元組,計算所述五元組的MD5值;當得到所述客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口后,將其作為五元組計算所述五元組的MD5值。(MD5,MeSSage DigestAlgorithm 5,中文名為消息摘要算法第五版)步驟S25,根據所述MD5值生成會話標識,并將所述會話標識插入相應會話圖數據結構中。比如前述五元組示例如下220. 181. 126.客戶端 IP], 1000客戶端端口,CookieList [TA0BA0SIDA = 5723055450375193901_20120323193804 ;TA0BA0CHIDA = 109_20120323193804 ;TA0BA0MIDA=5723055450375259437 ;TA0BA0AIDA = 5723055450375324973,125. 76. 224. 2目的服務器IP,80目的服務器端口。然后基于上述五元組生成MD5值,將其插入會話圖數據結構,實際中會話圖數據結構一般以sessionMap標識。
步驟130,接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式;代理服務器獲得目的服務器HTTP Response后,檢查返回HTTP頭是否標識壓縮模式。若返回內容是壓縮模式,則直接返回給客戶端。比如對于如下響應示例HTTP Response 不例HTTP/1. I 2000KServer nginxDate Fri,23 Mar 2012 11:38:06 GMTContent-Type image/gifContent-Length :49Connection closeP3P CP =" NOI DSP COR CURa ADMa DEVa PSAa PSDa OUR IND UNI PUR NAV"Expires Sat, 16 Jan 1980 12:00:00 GMTPragma no~cache可根據Content-Type image/gif判斷當前響應內容是否為壓縮模式。步驟140,如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。優選的,接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式,判斷不是壓縮模式之后包括步驟S131,判斷所述目標服務器響應是否為動態頁面;實際中,響應對應客戶端的請求的URL,則可判斷所述響應對應的URL中是否包括“ ”,如果包括則是動態頁面,如果不包括,則是靜態頁面。步驟S131,如果不是,則對所網頁進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端;如果是靜態頁面,則可以標準HTTP協議規定gzip格式對網頁進行自動壓縮、打包,重寫HTTP頭添加壓縮模式標簽,并返回給客戶端。步驟S132,如果是,則查找所述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識,并將所述會話標識與響應的會話圖數據結構中的會話標識進行匹配;若匹配上,則對響應的會話中的內容進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端。如果是動態頁面,則根據響應對應的session map中的會話ID,在代理服務器中查詢匹配前述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識;若匹配上,則可以標準HTTP協議規定gzip格式對網頁進行自動壓縮、打包,重寫HTTP頭添加壓縮模式標簽。并返回給客戶端。另外,還包括步驟150,如果所述響應的內容是不是壓縮模式,則將所述網頁請求轉發至客戶端。因此,對于客戶端來說無論目的服務器支持壓縮格式或不支持壓縮格式,都會被特定代理服務器壓縮打包,從而節省客戶端的實際下載流量。參照圖2,其示出了本申請一種網頁信息處理裝置,包括代理服務器210,所述代理服務器包括網頁請求接收模塊211,用于接收客戶端的網頁請求;網頁請求處理模塊212,用于解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器; 響應內容判斷模塊213,用于接收目標服務器的響應后,檢查所述響應的內容是否為壓縮模式;壓縮處理模塊,用于如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。所述壓縮處理模塊還用于如果所述響應的內容是不是壓縮模式,則將所述網頁請求轉發至客戶端。其中,接收到客戶端的網頁請求后包括第一判斷子模塊,用于判斷客戶端的網頁請求是否為動態網頁請求;會話標識生成模塊,用于如果是,則根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口、和/或客戶端Cookie列表生成會話標識,并將所述會話標識加入會話圖數據結構中。其中,所述壓縮處理模塊包括第二判斷子模塊,用于判斷所述目標服務器響應是否為動態頁面;第一壓縮發送子模塊,用于如果不是,則對所網頁進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端;第二壓縮發送子模塊,用于如果是,則查找所述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識,并將所述會話標識與響應的會話圖數據結構中的會話標識進行匹配;若匹配上,則對響應的會話中的內容進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端。其中,所述會話標識生成模塊包括監聽分析子模塊,用于在代理服務器添加監聽事件,監聽代理服務器的套接字;代理服務器從套接字中獲取客戶端的網頁請求報文,按超文本傳輸協議解析客戶端IP地址和客戶端端口號,目標服務器IP地址和目標服務器端口號,客戶端Cookie列表;計算子模塊,用于依據得到的客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口號五元組,計算所述五元組的MD5值;會話標識生成子模塊,用于根據所述MD5值生成會話標識,并將所述會話標識插入相應會話圖數據結構中。另外對應使用本申請的代理服務器的客戶端中,接收客戶端的網頁請求之前,在客戶端包括IP地址替換模塊,用于在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。
其中,所述IP地址替換模塊包括通過鉤子函數鉤取系統域名查詢函數,通過所述域名查詢函數將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。所述域名查詢函數為getaddrinfo。參照圖3,其示出了本申請一種網頁信息處理系統的結構示意圖,包括代理服務器310和客戶端320 ;所述代理服務器310包括
網頁請求接收模塊311,用于接收客戶端的網頁請求;網頁請求處理模塊312,用于解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器;響應內容判斷模塊313,用于接收目標服務器的響應后,檢查所述響應的內容是否為壓縮模式;壓縮處理模塊314,用于如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。所述客戶端320包括IP地址替換模塊321,用于在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。對于系統實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請范圍的所有變更和修改。以上對本申請所提供的一種網頁信息處 理方法和裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據本申請的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
權利要求
1.一種網頁信息處理方法,其特征在于,包括 接收客戶端的網頁請求; 解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器; 接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式; 如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。
2.根據權利要求I所述的方法,其特征在于,接收到客戶端的網頁請求后包括 判斷客戶端的網頁請求是否為動態網頁請求; 如果是,則根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中。
3.根據權利要求2所述的方法,其特征在于,接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式,判斷不是壓縮模式之后包括 判斷所述目標服務器響應是否為動態頁面;如果不是,則對所網頁進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端;如果是,則查找所述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識,并將所述會話標識與響應的會話圖數據結構中的會話標識進行匹配;若匹配上,則對響應的會話中的內容進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端。
4.根據權利要求2所述的方法,其特征在于,根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成會話標識,并將所述會話標識加入會話圖數據結構中包括 在代理服務器添加監聽事件,監聽代理服務器的套接字; 代理服務器從套接字中獲取客戶端的網頁請求報文,按超文本傳輸協議解析客戶端IP地址和客戶端端口號,目標服務器IP地址和目標服務器端口號,客戶端Cookie列表; 依據得到的客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口號構成的五元組,計算所述五元組的MD5值; 根據所述MD5值生成會話標識,并將所述會話標識插入相應會話圖數據結構中。
5.根據權利要求I所述的方法,其特征在于,接收客戶端的網頁請求之前還包括 在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。
6.根據權利要求5所述的方法,其特征在于,在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址包括 通過鉤子函數鉤取系統域名查詢函數,通過所述域名查詢函數將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。
7.—種網頁信息處理裝置,其特征在于,包括 網頁請求接收模塊,用于接收客戶端的網頁請求; 網頁請求處理模塊,用于解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器; 響應內容判斷模塊,用于接收目標服務器的響應后,檢查所述響應的內容是否為壓縮模式; 壓縮處理模塊,用于如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。
8.根據權利要求7所述的裝置,其特征在于,接收到客戶端的網頁請求后包括 第一判斷子模塊,用于判斷客戶端的網頁請求是否為動態網頁請求; 會話標識生成模塊,用于如果是,則根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口、和/或客戶端Cookie列表生成會話標識,并將所述會話標識加入會話圖數據結構中。
9.根據權利要求8所述的裝置,其特征在于,所述壓縮處理模塊包括 第二判斷子模塊,用于判斷所述目標服務器響應是否為動態頁面; 第一壓縮發送子模塊,用于如果不是,則對所網頁進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端; 第二壓縮發送子模塊,用于如果是,則查找所述根據客戶端IP地址、客戶端端口、目標服務器IP地址、目標服務器端口和客戶端Cookie列表構成的五元組生成的會話標識,并將所述會話標識與響應的會話圖數據結構中的會話標識進行匹配;若匹配上,則對響應的會話中的內容進行壓縮打包,在HTTP頭添加壓縮模式標簽,并返回給用戶端。
10.根據權利要求8所述的裝置,其特征在于,所述會話標識生成模塊包括 監聽分析子模塊,用于在代理服務器添加監聽事件,監聽代理服務器的套接字; 代理服務器從套接字中獲取客戶端的網頁請求報文,按超文本傳輸協議解析客戶端IP地址和客戶端端口號,目標服務器IP地址和目標服務器端口號,解析客戶端Cookie列表; 計算子模塊,用于依據得到的客戶端IP地址、客戶端端口號、客戶端Cookie列表、目標服務器IP地址和目標服務器端口號五元組,計算所述五元組的MD5值; 會話標識生成子模塊,用于根據所述MD5值生成會話標識,并將所述會話標識插入相應會話圖數據結構中。
11.根據權利要求7所述的裝置,其特征在于,接收客戶端的網頁請求之前,在客戶端包括 IP地址替換模塊,用于在客戶端中,將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。
12.根據權利要求11所述的裝置,其特征在于,所述IP地址替換模塊包括 通過鉤子函數鉤取系統域名查詢函數,通過所述域名查詢函數將客戶端的網頁請求中域名對應的IP地址替換為代理服務器的IP地址。
全文摘要
本申請提供了一種網頁信息處理方法和裝置,涉及網絡技術領域。本申請的方法包括接收客戶端的網頁請求;解析所述網頁請求,獲得客戶端的接收壓縮格式,并將所述網頁請求轉發至目標服務器;接收目標服務器的網頁請求響應后,檢查所述網頁請求響應的內容是否為壓縮模式;如果不是,則將所述網頁請求響應的內容根據所述壓縮格式進行壓縮,并轉發至客戶端。將本申請對于用戶訪問的不能進行壓縮傳輸的網站的網頁內容,由于減少了網絡對頁面內容的傳輸量,從而提高了傳輸時間,可節省客戶端的流量,對于存在流量限制的客戶端來說,使其可在同等流量限制的條件下訪問更多的網站,獲取更多的信息。
文檔編號H04L29/08GK102638580SQ20121009131
公開日2012年8月15日 申請日期2012年3月30日 優先權日2012年3月30日
發明者任寰, 孫鵬, 董斌雁 申請人:奇智軟件(北京)有限公司