重定向到Web頁面的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種重定向到Web頁面的方法及裝置。
【背景技術(shù)】
[0002]隨著3G、4G和無線通信技術(shù)的快速發(fā)展,越來越多的人使用數(shù)據(jù)卡、MIFI等移動終端網(wǎng)上沖浪。
[0003]數(shù)據(jù)卡、MIFI等設(shè)備一般都需要一個用于設(shè)置的頁面,通常是以web頁面的方式呈現(xiàn)給用戶(下文稱這個web頁面為web_ui),web_ui有個本地域名和局域網(wǎng)IP (終端的網(wǎng)關(guān)地址),當(dāng)設(shè)備和PC連接時,用戶在PC的瀏覽器中輸入該本地域名或網(wǎng)關(guān)IP即可打開設(shè)備的web_ui,對設(shè)備進(jìn)行相關(guān)操作和設(shè)置。
[0004]—般情況下,用戶不會打開web_ui,在某些條件下,當(dāng)用戶用瀏覽器打開網(wǎng)頁時,需要終端主動幫用戶重定向到網(wǎng)關(guān)web頁面給出相關(guān)提示,提高用戶體驗。如設(shè)備未聯(lián)網(wǎng)時,用戶無法通過設(shè)備瀏覽網(wǎng)頁,需要重定向到web_ui,提示用戶操作設(shè)備聯(lián)網(wǎng);在線升級完成后,需要重定向到web_ui,提示用戶升級結(jié)果等場景。
[0005]目前針對設(shè)備按需重定向到web_ui的方案主要有兩種:
[0006]方案1:截取PC發(fā)過來的域名系統(tǒng)(Domain Name System簡稱為DNS)請求數(shù)據(jù)包,當(dāng)滿足重定向條件時,組一個域名解析結(jié)果為網(wǎng)關(guān)地址的DNS響應(yīng)包回給PC。
[0007]方案2:截取PC發(fā)過來的tcp數(shù)據(jù)包,當(dāng)滿足重定向條件時,將tcp消息路由到網(wǎng)關(guān)的web server,當(dāng)瀏覽器tcp握手完成,成功發(fā)出http請求時,組裝一個http 302重定向到web_ui域名的響應(yīng)包回給PC,達(dá)到重定向到web_ui的目的。該方案當(dāng)設(shè)備未聯(lián)網(wǎng)時,還需要DNS模塊回應(yīng)一個固定的虛擬IP響應(yīng),使得PC瀏覽器完成DNS解析,順利發(fā)出tcp握手消息。
[0008]這兩種方案都存在由于PC瀏覽器的優(yōu)化實現(xiàn)帶來的用戶體驗缺陷:PC瀏覽器為了提高網(wǎng)頁訪問效率,當(dāng)訪問一個域名DNS解析成功時,會在瀏覽器緩存中保存該域名和DNS解析得到的IP的對應(yīng)關(guān)系一段時間,當(dāng)緩存有效時,在同一個標(biāo)簽頁中再次訪問該域名時,跳過了 DNS解析,直接使用保存的IP訪問。對于方案一,當(dāng)滿足重定向條件時,給PC回應(yīng)網(wǎng)關(guān)地址的DNS響應(yīng)來重定向,PC瀏覽器保存了這個DNS解析結(jié)果,在瀏覽器緩存的這段有效時間內(nèi),如果設(shè)備不需要重定向了,而用戶繼續(xù)在瀏覽器同一標(biāo)簽頁中試圖訪問該域名時,瀏覽器跳過了 DNS解析階段,直接使用網(wǎng)關(guān)地址訪問,將再次重定向到web_ui,直到該緩存失效或用戶重開一個標(biāo)簽頁。同樣,方案二在設(shè)備未聯(lián)網(wǎng)的時候重定向的域名也存在這個缺陷。
[0009]針對現(xiàn)有技術(shù)中由于PC瀏覽器的優(yōu)化而導(dǎo)致的重定向過的域名,當(dāng)不需要重定向時,在不清除PC瀏覽器緩存的情況下,在一段時間內(nèi)仍會重定向的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的主要目的在于提供一種重定向到Web頁面的方法及裝置,以解決現(xiàn)有技術(shù)中由于PC瀏覽器的優(yōu)化而導(dǎo)致的重定向過的域名,當(dāng)不需要重定向時,在不清除PC瀏覽器緩存的情況下,在一段時間內(nèi)仍會重定向的問題。
[0011]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種重定向到Web頁面的方法,包括:在第一設(shè)備接收到第二設(shè)備的DNS請求,且在所述DNS請求所請求的域名不是所述第一設(shè)備網(wǎng)關(guān)域名且滿足重定向條件時,所述第一設(shè)備向所述第二設(shè)備發(fā)送所述DNS請求的響應(yīng)消息,其中,所述響應(yīng)消息中攜帶有本地預(yù)設(shè)的虛擬IP地址組中未使用的虛擬IP地址,所述未使用的虛擬IP地址是指還未用來重定向DNS響應(yīng)包的虛擬IP ;所述第一設(shè)備建立所述虛擬IP地址與滿足重定向條件的所述域名的對應(yīng)關(guān)系;所述第一設(shè)備接收所述第二設(shè)備發(fā)送的TCP數(shù)據(jù)包后,使用指定IP地址替換所述TCP數(shù)據(jù)包中攜帶的虛擬IP地址,并根據(jù)所述指定IP地址轉(zhuǎn)發(fā)所述第二設(shè)備與所述指定IP地址之間的交互數(shù)據(jù)包。
[0012]進(jìn)一步地,在滿足重定向條件時,根據(jù)指定IP替換所述TCP數(shù)據(jù)包中攜帶的虛擬IP,進(jìn)而通過所述指定IP實現(xiàn)數(shù)據(jù)的交互數(shù)據(jù)包包括:用所述第一設(shè)備的網(wǎng)關(guān)地址替換所述指定IP地址,根據(jù)所述網(wǎng)關(guān)地址轉(zhuǎn)發(fā)所述第二設(shè)備和所述網(wǎng)關(guān)之間的交互數(shù)據(jù)包。
[0013]進(jìn)一步地,在不滿足重定向條件時,根據(jù)指定IP替換所述TCP數(shù)據(jù)包中攜帶的虛擬IP,進(jìn)而通過所述指定IP實現(xiàn)數(shù)據(jù)的交互數(shù)據(jù)包包括:所述第一設(shè)備從所述TCP數(shù)據(jù)包中獲取所述TCP數(shù)據(jù)包的目的地址;所述第一設(shè)備判斷所述目的地址在所述虛擬IP組中是否存在所述目的地址對應(yīng)的虛擬IP地址;用于在判斷結(jié)果為是時,查找與所述虛擬IP地址對應(yīng)的重定向域名;用所述重定向域名的真實IP地址替換所述虛擬IP地址,并根據(jù)所述重定向域名的真實IP地址轉(zhuǎn)發(fā)所述第二設(shè)備和所述真實IP地址之間的交互數(shù)據(jù)包。
[0014]可選地,根據(jù)所述重定向域名的真實IP地址轉(zhuǎn)發(fā)所述第二設(shè)備和所述真實IP地址之間的交互數(shù)據(jù)包之后,包括:對所述重定向域名進(jìn)行DNS解析,得到與所述重定向域名對應(yīng)的真實IP地址。
[0015]可選地,根據(jù)所述重定向域名的真實IP地址轉(zhuǎn)發(fā)所述第二設(shè)備和所述真實IP地址之間的交互數(shù)據(jù)包之后還包括:保存對應(yīng)于所述重定向域名與所述重定向域名真實IP地址的對應(yīng)關(guān)系。
[0016]根據(jù)本發(fā)明的另一方面,提供了一種重定向到Web頁面的裝置,包括:接收模塊,用于在接收到第二設(shè)備的DNS請求,且在所述DNS請求所請求的域名不是第一設(shè)備網(wǎng)關(guān)域名且滿足重定向條件時,向所述第二設(shè)備發(fā)送所述DNS請求的響應(yīng)消息,其中,所述響應(yīng)消息中攜帶有本地預(yù)設(shè)的虛擬IP地址組中未使用的虛擬IP地址,所述未使用的虛擬IP地址是指還未用來重定向DNS響應(yīng)包的虛擬IP ;建立模塊,用于建立所述虛擬IP地址與滿足重定向條件的所述域名的對應(yīng)關(guān)系;替換模塊,用于在接收所述第二設(shè)備發(fā)送的TCP數(shù)據(jù)包后,使用指定IP地址替換所述TCP數(shù)據(jù)包中攜帶的虛擬IP地址,并根據(jù)所述指定IP地址轉(zhuǎn)發(fā)所述第二設(shè)備與所述指定IP地址之間的交互數(shù)據(jù)包。
[0017]進(jìn)一步地,所述替換模塊包括:第一替換單元,用于在滿足重定向條件時,用所述第一設(shè)備的網(wǎng)關(guān)地址替換所述指定IP地址,根據(jù)所述網(wǎng)關(guān)地址轉(zhuǎn)發(fā)所述第二設(shè)備和所述網(wǎng)關(guān)之間的交互數(shù)據(jù)包。
[0018]進(jìn)一步地,在不滿足重定向條件時,所述替換模塊還包括:獲取單元,用于從所述TCP數(shù)據(jù)包中獲取所述TCP數(shù)據(jù)包的目的地址;判斷單元,用于判斷所述目的地址在所述虛擬IP組中是否存在所述目的地址對應(yīng)的虛擬IP地址;第二替換單元,用于在判斷結(jié)果為是時,查找與所述虛擬IP地址對應(yīng)的重定向域名;用所述重定向域名的真實IP地址替換所述虛擬IP地址,并根據(jù)所述重定向域名的真實IP地址轉(zhuǎn)發(fā)所述第二設(shè)備和所述真實IP地址之間的交互數(shù)據(jù)包。
[0019]進(jìn)一步地,所述裝置還包括:解析模塊,用于對所述重定向域名進(jìn)行DNS解析,得到與所述重定向域名對應(yīng)的真實IP地址。
[0020]進(jìn)一步地,所述裝置還包括:保存模塊,用于保存對應(yīng)于所述重定向域名與所述重定向域名真實IP地址的對應(yīng)關(guān)系。
[0021 ] 通過本發(fā)明,采用在第一設(shè)備接收到第二設(shè)備的DNS請求,且在DNS請求所請求的域名不是第一設(shè)備網(wǎng)關(guān)域名且滿足重定向條件時,第一設(shè)備向第二設(shè)備發(fā)送DNS請求的響應(yīng)消息,其中,響應(yīng)消息中攜帶有本地預(yù)設(shè)的虛擬IP地址組中未使用的虛擬IP地址,未使用的虛擬IP地址是指還未用來重定向DNS響應(yīng)包的虛擬IP ;第一設(shè)備建立虛擬IP地址與滿足重定向條件的域名的對應(yīng)關(guān)系;第一設(shè)備接收第二設(shè)備發(fā)送的TCP數(shù)據(jù)包后,使用指定IP地址替換TCP數(shù)據(jù)包中攜帶的虛擬IP地址,并根據(jù)指定IP地址轉(zhuǎn)發(fā)第二設(shè)備與指定IP地址之間的交互數(shù)據(jù)包,解決現(xiàn)有技術(shù)中由于PC瀏覽器的優(yōu)化而導(dǎo)致的重定向過的域名,當(dāng)不需要重定向時,在不清除PC瀏覽器緩存的情況下,在一段時間內(nèi)仍會重定向的問題,提高了用戶的體驗效果。
【附圖說明】
[0022]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0023]圖1是根據(jù)本發(fā)明實施例的重定向到Web頁面的方法流程圖;
[0024]圖2是根據(jù)本發(fā)明實施例的重定向到Web頁面的裝置結(jié)構(gòu)框圖;
[0025]圖3是根據(jù)本發(fā)明實施例的重定向到Web頁面的裝置的優(yōu)選結(jié)構(gòu)框圖一;
[0026]圖4是根據(jù)本發(fā)明實施例的重定向到Web頁面的裝置的優(yōu)選結(jié)構(gòu)框圖二 ;
[0027]圖5是根據(jù)本發(fā)明實施例的重定向到Web頁面的裝置的優(yōu)選結(jié)構(gòu)框圖三;
[0028]圖6