本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種報(bào)文處理方法及裝置。
背景技術(shù):
域名解析服務(wù)器為人們提供網(wǎng)頁域名與ip地址相互轉(zhuǎn)換的信息,是互聯(lián)網(wǎng)系統(tǒng)的一項(xiàng)基礎(chǔ)性技術(shù)設(shè)施,是人們?nèi)粘g覽網(wǎng)頁的過程中不可或缺的部分。
目前,當(dāng)用戶利用終端訪問某一網(wǎng)頁時(shí),用戶可以在終端中輸入待訪問網(wǎng)頁的域名,例如,當(dāng)用戶需要瀏覽百度的主頁面時(shí),可以在終端中輸入百度的主頁面的域名“www.baidu.com”,終端獲取用戶輸入的待訪問網(wǎng)頁的域名,并生成dns(domainnamesystem,域名系統(tǒng))請(qǐng)求報(bào)文,dns請(qǐng)求報(bào)文中攜帶待訪問網(wǎng)頁的域名,然后向代理服務(wù)器轉(zhuǎn)發(fā)dns請(qǐng)求報(bào)文,以使代理服務(wù)器向域名解析服務(wù)器轉(zhuǎn)發(fā)dns請(qǐng)求報(bào)文,域名解析服務(wù)器獲取根據(jù)該網(wǎng)頁的域名,獲取存儲(chǔ)有該網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址(internetprotocoladdress,互聯(lián)網(wǎng)協(xié)議地址),并根據(jù)該網(wǎng)頁的域名與網(wǎng)頁服務(wù)器的ip地址生成dns響應(yīng)報(bào)文,然后向代理服務(wù)器發(fā)送該dns響應(yīng)報(bào)文,代理服務(wù)器在接收到該dns響應(yīng)報(bào)文之后,將該dns響應(yīng)報(bào)文轉(zhuǎn)發(fā)至終端;終端接收該dns響應(yīng)報(bào)文,進(jìn)而根據(jù)該dns響應(yīng)報(bào)文中的網(wǎng)頁服務(wù)器的ip地址從網(wǎng)頁服務(wù)器中獲取該網(wǎng)頁,并在屏幕上顯示該網(wǎng)頁,以供用戶瀏覽。
然而,發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)存在以下缺陷:
終端在獲取dns響應(yīng)報(bào)文的過程中,終端需要與代理服務(wù)器之間進(jìn)行兩次數(shù)據(jù)交互,且代理服務(wù)器需要與域名解析服務(wù)器之間也進(jìn)行兩次數(shù)據(jù)交互,導(dǎo)致終端在獲取dns響應(yīng)報(bào)文的過程中會(huì)耗費(fèi)較多的網(wǎng)絡(luò)資源,且獲取dns響應(yīng)報(bào)文的獲取效率較低。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明實(shí)施例提供一種報(bào)文處理方法及裝置。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種報(bào)文處理方法,應(yīng)用于代理服務(wù)器,所述方法包括:
接收終端發(fā)送的域名系統(tǒng)dns請(qǐng)求報(bào)文,所述dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;
計(jì)算所述第一域名的hash值;
在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括所述hash值的記錄,所述預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)hash值與一個(gè)dns響應(yīng)報(bào)文;且不同的記錄包括的hash值和dns響應(yīng)報(bào)文不同;
如果查找到包括所述第一域名的hash值的記錄,向所述終端發(fā)送所述查找到的記錄中的dns響應(yīng)報(bào)文。
進(jìn)一步地,所述方法還包括:
如果未查找到包括所述第一域名的hash值的記錄,則向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文;
接收所述域名解析服務(wù)器根據(jù)所述dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;
向所述終端發(fā)送所述接收到的dns響應(yīng)報(bào)文;
將所述第一域名的hash值與所述接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在所述預(yù)設(shè)報(bào)文列表中。
進(jìn)一步地,所述方法還包括:
從所述接收到的dns響應(yīng)報(bào)文中獲取每一個(gè)響應(yīng)字段中存儲(chǔ)的數(shù)據(jù)的剩余有效時(shí)長;
在所述獲取的所有剩余有效時(shí)長中,選擇最短的剩余有效時(shí)長,并作為所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;
將所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長存儲(chǔ)在組成的記錄中。
進(jìn)一步地,所述方法還包括:
在向所述終端發(fā)送所述查找到的記錄中的dns響應(yīng)報(bào)文的同時(shí),向所述終端發(fā)送所述查找到的記錄中的剩余有效時(shí)長。
進(jìn)一步地,所述方法還包括:
根據(jù)所述代理服務(wù)器本地的時(shí)刻,在所述預(yù)設(shè)報(bào)文列表中,實(shí)時(shí)更新所述組成的記錄中的所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;以及當(dāng)所述接收的dns響應(yīng)報(bào)文的剩余有效時(shí)長為零時(shí),從所述預(yù)設(shè)報(bào)文列表中刪除組成的所述記錄。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種報(bào)文處理裝置,應(yīng)用于代理服務(wù)器,所述裝置包括:
第一接收模塊,用于接收終端發(fā)送的域名系統(tǒng)dns請(qǐng)求報(bào)文,所述dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;
計(jì)算模塊,用于計(jì)算所述第一域名的hash值;
查找模塊,用于在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括所述hash值的記錄,所述預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)hash值與一個(gè)dns響應(yīng)報(bào)文;且不同的記錄包括的hash值和dns響應(yīng)報(bào)文不同;
第一發(fā)送模塊,用于如果查找到包括所述第一域名的hash值的記錄,向所述終端發(fā)送所述查找到的記錄中的dns響應(yīng)報(bào)文。
進(jìn)一步地,所述裝置還包括:
第二發(fā)送模塊,用于如果未查找到包括所述第一域名的hash值的記錄,則向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文;
第二接收模塊,用于接收所述域名解析服務(wù)器根據(jù)所述dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;
第三發(fā)送模塊,用于向所述終端發(fā)送所述接收到的dns響應(yīng)報(bào)文;
第一存儲(chǔ)模塊,用于將所述第一域名的hash值與所述接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在所述預(yù)設(shè)報(bào)文列表中。
進(jìn)一步地,所述裝置還包括:
獲取模塊,用于從所述接收到的dns響應(yīng)報(bào)文中獲取每一個(gè)響應(yīng)字段中存儲(chǔ)的數(shù)據(jù)的剩余有效時(shí)長;
選擇模塊,用于在所述獲取的所有剩余有效時(shí)長中,選擇最短的剩余有效時(shí)長,并作為所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;
第二存儲(chǔ)模塊,用于將所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長存儲(chǔ)在組成的記錄中。
進(jìn)一步地,所述裝置還包括:
第四發(fā)送模塊,用于在向所述終端發(fā)送所述查找到的記錄中的dns響應(yīng)報(bào)文的同時(shí),向所述終端發(fā)送所述查找到的記錄中的剩余有效時(shí)長。
進(jìn)一步地,所述裝置還包括:
更新模塊,用于根據(jù)所述代理服務(wù)器本地的時(shí)刻,在所述預(yù)設(shè)報(bào)文列表中,實(shí)時(shí)更新所述組成的記錄中的所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;刪除模塊,用于當(dāng)所述接收的dns響應(yīng)報(bào)文的剩余有效時(shí)長為零時(shí),從所述預(yù)設(shè)報(bào)文列表中刪除組成的所述記錄。
本發(fā)明實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
在本發(fā)明實(shí)施例中,接收終端發(fā)送的dns請(qǐng)求報(bào)文,dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;計(jì)算第一域名的hash值;在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括計(jì)算出的hash值的記錄;如果在預(yù)設(shè)報(bào)文列表中查找到包括計(jì)算出的第一域名的hash值的記錄,則無需從域名解析服務(wù)器中獲取dns響應(yīng)報(bào)文,直接將在本地查找到的該記錄中的dns響應(yīng)報(bào)文發(fā)送給終端。從而節(jié)省了代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,且不受代理服務(wù)器與域名解析服務(wù)器之間的通信連接的影響,繼而避免由于代理服務(wù)器與域名解析服務(wù)器之間的通信連接不穩(wěn)定而降低獲取dns響應(yīng)報(bào)文的獲取效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明實(shí)施例。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明實(shí)施例的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理方法的流程圖;
圖3是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理方法的流程圖;
圖4是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明實(shí)施例相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明實(shí)施例的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,該系統(tǒng)包括終端1、代理服務(wù)器2和域名服務(wù)器3。終端1與代理服務(wù)器2之間通信連接,終端1與代理服務(wù)器2之間可以通過二者之間的通信連接實(shí)現(xiàn)數(shù)據(jù)交互;代理服務(wù)器2與域名服務(wù)器3之間通信連接。代理服務(wù)器2與域名服務(wù)器3之間可以通過二者之間的通信連接實(shí)現(xiàn)數(shù)據(jù)交互。
圖2是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理方法的流程圖,如圖2所示,該方法用于如圖1所示的代理服務(wù)器2中,該方法包括以下步驟。
在步驟s101中,接收終端發(fā)送的dns請(qǐng)求報(bào)文,dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;
在本發(fā)明實(shí)施例中,用戶通常利用終端上網(wǎng),當(dāng)用戶需要利用終端訪問某一網(wǎng)頁時(shí),用戶需要首先在終端中輸入該網(wǎng)頁的域名,例如,www.baidu.com或者www.taobao.com等。終端獲取用戶輸入的該網(wǎng)頁的域名,并根據(jù)該網(wǎng)頁的域名從域名解析服務(wù)器中獲取存儲(chǔ)有該網(wǎng)頁的網(wǎng)頁服務(wù)器的ip(internetprotocoladdress,互聯(lián)網(wǎng)協(xié)議地址)地址,進(jìn)而再根據(jù)網(wǎng)頁服務(wù)器的ip地址從網(wǎng)頁服務(wù)器中獲取該網(wǎng)頁,并在終端的屏幕上顯示該網(wǎng)頁,以供用戶瀏覽。
其中,為了能夠根據(jù)該網(wǎng)頁的域名從域名解析服務(wù)器中獲取存儲(chǔ)有該網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,終端需要根據(jù)該網(wǎng)頁的域名生成dns請(qǐng)求報(bào)文,并向域名解析服務(wù)器發(fā)送dns請(qǐng)求報(bào)文;以使域名解析服務(wù)器就會(huì)根據(jù)第一dns請(qǐng)求報(bào)文攜帶的該網(wǎng)頁的域名獲取網(wǎng)頁服務(wù)器的ip地址,并根據(jù)網(wǎng)頁服務(wù)器的ip地址和該網(wǎng)頁的域名生成dns響應(yīng)報(bào)文,然后向終端返回dns響應(yīng)報(bào)文;之后終端再從dns響應(yīng)報(bào)文中提取出網(wǎng)頁服務(wù)器的ip地址。
在本發(fā)明實(shí)施例中,終端在向域名解析服務(wù)器發(fā)送dns請(qǐng)求報(bào)文時(shí),需要先將dns請(qǐng)求報(bào)文發(fā)送至代理服務(wù)器,進(jìn)而代理服務(wù)器再將dns請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至域名解析服務(wù)器。相應(yīng)地,域名解析服務(wù)器在向終端返回dns響應(yīng)報(bào)文時(shí),需要先將dns響應(yīng)報(bào)文發(fā)送至代理服務(wù)器,進(jìn)而代理服務(wù)器再將dns響應(yīng)報(bào)文轉(zhuǎn)發(fā)至終端。
因此,在本發(fā)明實(shí)施例中,當(dāng)終端需要訪問某一網(wǎng)頁時(shí),就會(huì)向代理服務(wù)器發(fā)送攜帶該網(wǎng)頁的域名的dns請(qǐng)求報(bào)文,代理服務(wù)器在接收到終端發(fā)送的一個(gè)攜帶該網(wǎng)頁的域名的dns請(qǐng)求報(bào)文之后,就會(huì)從域名解析服務(wù)器中獲取dns響應(yīng)報(bào)文,該dns響應(yīng)報(bào)文中攜帶存儲(chǔ)有該網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址以及該網(wǎng)頁的域名,并向終端返回該dns響應(yīng)報(bào)文。
如果之后終端還需要訪問該網(wǎng)頁,則終端還會(huì)向代理服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文,代理服務(wù)器仍舊需要從域名解析服務(wù)器中獲取該dns響應(yīng)報(bào)文,并向終端返回該dns響應(yīng)報(bào)文,終端再接收該dns響應(yīng)報(bào)文。
但是,代理服務(wù)器從域名解析服務(wù)器中獲取該dns響應(yīng)報(bào)文的過程為:
代理服務(wù)器向域名解析服務(wù)器轉(zhuǎn)發(fā)該dns請(qǐng)求報(bào)文;域名解析服務(wù)器接收該dns請(qǐng)求報(bào)文,并根據(jù)該dns請(qǐng)求報(bào)文攜帶的該網(wǎng)頁的域名獲取存儲(chǔ)有該網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,再根據(jù)該網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址和該網(wǎng)頁的域名生成該dns響應(yīng)報(bào)文,并向代理服務(wù)器返回該dns響應(yīng)報(bào)文;代理服務(wù)器接收域名解析服務(wù)器返回的該dns響應(yīng)報(bào)文。
在從域名解析服務(wù)器中獲取該dns響應(yīng)報(bào)文的整個(gè)過程中,代理服務(wù)器需要與域名解析服務(wù)器進(jìn)行兩次數(shù)據(jù)交互,會(huì)耗費(fèi)代理服務(wù)器與域名解析服務(wù)器之間較多的網(wǎng)絡(luò)資源,且在代理服務(wù)器與域名解析服務(wù)器之間的通信連接不穩(wěn)定時(shí),可能需要耗費(fèi)較多時(shí)間代理服務(wù)器才能接收到域名解析服務(wù)器返回的該dns響應(yīng)報(bào)文,導(dǎo)致獲取該dns響應(yīng)報(bào)文的獲取效率較低。
因此,如果之后再次接收到終端發(fā)送的攜帶該域名的該dns請(qǐng)求報(bào)文,為了能夠提高獲取該dns響應(yīng)報(bào)文的獲取效率以及節(jié)省代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,在代理服務(wù)器接收到域名服務(wù)器返回的該dns響應(yīng)報(bào)文時(shí),除了向終端轉(zhuǎn)發(fā)該dns響應(yīng)報(bào)文之外,代理服務(wù)器還會(huì)計(jì)算該網(wǎng)頁的域名的hash值,然后將hash值與該dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中。
如此,在本發(fā)明實(shí)施例中,當(dāng)接收到攜帶待訪問網(wǎng)頁的第一域名的dns請(qǐng)求報(bào)文時(shí),代理服務(wù)器無需直接向域名解析服務(wù)器轉(zhuǎn)發(fā)該dns請(qǐng)求報(bào)文,而是執(zhí)行步驟s102:計(jì)算該dns請(qǐng)求報(bào)文攜帶的第一域名的hash值;然后執(zhí)行步驟s103。
在步驟s102中,計(jì)算第一域名的hash值;
在本發(fā)明實(shí)施例中,可以根據(jù)hash算法或者md5(messagedigestalgorithm5,消息摘要算法第五版)算法計(jì)算第一域名的hash值,本發(fā)明對(duì)此不加以限定。其中,不同的域名的hash值不同。
在步驟s103中,在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括計(jì)算出的hash值的記錄;
在本發(fā)明實(shí)施例中,在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中存儲(chǔ)了至少一條記錄,每一條記錄中至少包括一個(gè)hash值與一個(gè)dns響應(yīng)報(bào)文;且不同的記錄包括的hash值和dns響應(yīng)報(bào)文不同。
對(duì)于預(yù)設(shè)報(bào)文列表中的任意一條記錄,該記錄中的hash值與該dns響應(yīng)報(bào)文中攜帶的至少一個(gè)域名的hash值相同,對(duì)于預(yù)設(shè)報(bào)文列表中的其他每一條記錄,同樣如此。
如果在預(yù)設(shè)報(bào)文列表中查找到包括計(jì)算出的第一域名的hash值的記錄,在步驟s104中,向終端發(fā)送查找到的該記錄中的dns響應(yīng)報(bào)文。
在本發(fā)明實(shí)施例中,在預(yù)設(shè)報(bào)文列表中的包括計(jì)算出的第一域名的hash值的記錄中,還存在dns響應(yīng)報(bào)文,該記錄中的dns響應(yīng)報(bào)文中至少攜帶待訪問網(wǎng)頁的域名和存儲(chǔ)有待訪問網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,且該記錄中的hash值為根據(jù)該dns響應(yīng)報(bào)文中的待訪問網(wǎng)頁的域名計(jì)算得到的。
進(jìn)一步地,在代理服務(wù)器向終端發(fā)送查找到的該記錄中的dns響應(yīng)報(bào)文之后,終端就會(huì)接收到代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文,然后從代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文中提取出存儲(chǔ)有待訪問網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,并根據(jù)網(wǎng)頁服務(wù)器的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁,進(jìn)而在終端的屏幕上顯示待訪問網(wǎng)頁,以供用戶瀏覽待訪問網(wǎng)頁。
在本發(fā)明實(shí)施例中,接收終端發(fā)送的dns請(qǐng)求報(bào)文,dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;計(jì)算第一域名的hash值;在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括計(jì)算出的hash值的記錄;如果在預(yù)設(shè)報(bào)文列表中查找到包括計(jì)算出的第一域名的hash值的記錄,則無需從域名解析服務(wù)器中獲取dns響應(yīng)報(bào)文,直接將在本地查找到的該記錄中的dns響應(yīng)報(bào)文發(fā)送給終端。從而節(jié)省了代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,且不受代理服務(wù)器與域名解析服務(wù)器之間的通信連接的影響,繼而避免由于代理服務(wù)器與域名解析服務(wù)器之間的通信連接不穩(wěn)定而降低獲取dns響應(yīng)報(bào)文的獲取效率。
進(jìn)一步地,如果在預(yù)設(shè)報(bào)文列表中未查找到包括計(jì)算出的第一域名的hash值的記錄,則代理服務(wù)器就無法執(zhí)行步驟s104,進(jìn)而終端就無法得到存儲(chǔ)有待訪問網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,也就無法獲取待訪問網(wǎng)頁供用戶瀏覽,因此,在未查找到包括計(jì)算出的第一域名的hash值的記錄的情況下,為了使得終端能夠得到待訪問網(wǎng)頁供用戶瀏覽,參見圖3,該方法還包括:
如果在預(yù)設(shè)報(bào)文列表中未查找到包括第一域名的hash值的記錄,在步驟s201中,向域名解析服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文;
如果在預(yù)設(shè)報(bào)文列表中未查找到包括第一域名的hash值的記錄,則說明之前未曾接收過攜帶待訪問網(wǎng)頁的第一域名的dns報(bào)文請(qǐng)求,也即,此次是首次接收到攜帶待訪問網(wǎng)頁的第一域名的dns報(bào)文請(qǐng)求,因此,需要向域名解析服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文,以使域名解析服務(wù)器根據(jù)dns請(qǐng)求報(bào)文攜帶的待訪問網(wǎng)頁的域名,獲取存儲(chǔ)有待訪問網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,并根據(jù)網(wǎng)頁服務(wù)器的ip地址和待訪問網(wǎng)頁的域名生成dns響應(yīng)報(bào)文,以及向代理服務(wù)器返回生成的dns響應(yīng)報(bào)文。
在步驟s202中,接收域名解析服務(wù)器根據(jù)該dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;
在步驟s203中,向終端發(fā)送接收到的dns響應(yīng)報(bào)文;
進(jìn)一步地,在代理服務(wù)器向終端發(fā)送接收到的dns響應(yīng)報(bào)文之后,終端就會(huì)接收到代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文,然后從代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文中提取出存儲(chǔ)有待訪問網(wǎng)頁的網(wǎng)頁服務(wù)器的ip地址,并根據(jù)網(wǎng)頁服務(wù)器的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁,進(jìn)而在終端的屏幕上顯示待訪問網(wǎng)頁,以供用戶瀏覽待訪問網(wǎng)頁。
進(jìn)一步地,如果之后再次接收到終端發(fā)送的該dns請(qǐng)求報(bào)文,為了能夠提高獲取該dns響應(yīng)報(bào)文的獲取效率以及節(jié)省代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,代理服務(wù)器還可以將第一域名的hash值與接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中。如此,當(dāng)之后再次接收到終端發(fā)送的該dns請(qǐng)求報(bào)文時(shí),就可以按照上述步驟s101~步驟s104的流程獲取到該dns響應(yīng)報(bào)文,從而提高獲取該dns響應(yīng)報(bào)文的獲取效率以及節(jié)省代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源。
在本發(fā)明另一實(shí)施例中,有時(shí)候一個(gè)網(wǎng)頁包含有多個(gè)域名,也即,通過多個(gè)域名都可以訪問該網(wǎng)頁,例如,百度的主頁面的域名包括www.baidu.com以及www.a.shifen.com等。
以及,通常情況下,終端會(huì)利用ipv4協(xié)議或者ipv6協(xié)議訪問待訪問網(wǎng)頁,然而,網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址與在ipv6協(xié)議中的ip地址是不同的,為了使得終端能能夠自由選擇ipv4協(xié)議或者ipv6協(xié)議訪問待訪問網(wǎng)頁,在本發(fā)明實(shí)施例中,域名解析服務(wù)器在生成dns響應(yīng)報(bào)文時(shí),會(huì)根據(jù)網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址、網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址、待訪問網(wǎng)頁的第一域名以及待訪問網(wǎng)頁的第二域名生成dns響應(yīng)報(bào)文。
因此,在本發(fā)明另一實(shí)施例中,接收到的dns響應(yīng)報(bào)文包括多個(gè)響應(yīng)字段,每一個(gè)響應(yīng)字段中均存儲(chǔ)有數(shù)據(jù),且每一個(gè)響應(yīng)字段中存儲(chǔ)的數(shù)據(jù)均具備剩余有效時(shí)長,
例如,一個(gè)響應(yīng)字段中存儲(chǔ)了待訪問網(wǎng)頁的第二域名,另一個(gè)響應(yīng)字段中存儲(chǔ)了待訪問網(wǎng)頁在ipv4協(xié)議中的ip地址,以及有一個(gè)響應(yīng)字段中存儲(chǔ)了待訪問網(wǎng)頁在ipv6協(xié)議中的ip地址等等。
且,待訪問網(wǎng)頁的第二域名、網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址和網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址各自分別均具備剩余有效時(shí)長。
其中,待訪問網(wǎng)頁的第二域名的剩余有效時(shí)長、網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址的剩余有效時(shí)長和網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址的剩余有效時(shí)長可能相同,也可以不同。
其中,在網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址的剩余有效時(shí)長到達(dá)零之前,終端可以通過網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁,一旦網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址到達(dá)零時(shí),網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址的第二域名即失效,終端就無法再通過網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁。
其次,在網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址的剩余有效時(shí)長到達(dá)零之前,終端可以通過網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁,一旦網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址到達(dá)零時(shí),網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址的第二域名即失效,終端就無法再通過網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁。
以及,在待訪問網(wǎng)頁的第二域名的剩余有效時(shí)長到達(dá)零之前,終端可以通過待訪問網(wǎng)頁的第二域名訪問待訪問網(wǎng)頁,一旦待訪問網(wǎng)頁的第二域名的剩余有效時(shí)長到達(dá)零時(shí),待訪問網(wǎng)頁的第二域名即失效,終端就無法再通過待訪問網(wǎng)頁的第二域名訪問待訪問網(wǎng)頁。
有時(shí)候,終端會(huì)將代理服務(wù)器返回的該dns響應(yīng)報(bào)文緩存在終端本地,這樣,當(dāng)下一次終端需要訪問待訪問網(wǎng)頁時(shí),如果本地存儲(chǔ)有該dns響應(yīng)報(bào)文,則終端就無需再從代理服務(wù)器中獲取該dns響應(yīng)報(bào)文,直接從本地就可以獲取到該dns響應(yīng)報(bào)文,進(jìn)而獲取該dns響應(yīng)報(bào)文中的網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址以及網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址,再根據(jù)網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址或者網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁。
然而,如果待訪問網(wǎng)頁的第二域名失效,說明網(wǎng)頁服務(wù)器的第二域名已經(jīng)變更,終端根據(jù)該dns響應(yīng)報(bào)文中的第二域名無法訪問待訪問網(wǎng)頁。
如果網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址失效,說明網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址已經(jīng)變更為其他地址,終端從緩存的該dns響應(yīng)報(bào)文中的網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址無法從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁。
如果網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址失效,說明網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址已經(jīng)變更為其他地址,終端從緩存的該dns響應(yīng)報(bào)文中的網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址無法從網(wǎng)頁服務(wù)器中獲取待訪問網(wǎng)頁。
然而,在終端根據(jù)失效的ipv4協(xié)議中的ip地址或者失效的ipv6協(xié)議中的ip地址從網(wǎng)頁服務(wù)器中未成功獲取待訪問網(wǎng)頁時(shí),就會(huì)結(jié)束流程。就知道用戶無法瀏覽待訪問網(wǎng)頁。
因此,為了保證用戶能夠?yàn)g覽待訪問網(wǎng)頁,在本發(fā)明實(shí)施例中,代理服務(wù)器需要從接收到的dns響應(yīng)報(bào)文中獲取每一個(gè)響應(yīng)字段中存儲(chǔ)的數(shù)據(jù)的剩余有效時(shí)長;在獲取的所有剩余有效時(shí)長中,選擇最短的剩余有效時(shí)長,并作為接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;將接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長存儲(chǔ)在組成的記錄中。
例如,獲取第二域名的剩余有效時(shí)長、網(wǎng)頁服務(wù)器在ipv4協(xié)議中的ip地址的剩余有效時(shí)長以及網(wǎng)頁服務(wù)器在ipv6協(xié)議中的ip地址的剩余有效時(shí)長;在第二域名的剩余有效時(shí)長、在ipv4協(xié)議中的ip地址的剩余有效時(shí)長以及在ipv6協(xié)議中的ip地址的剩余有效時(shí)長中選擇最短的剩余有效時(shí)長,并作為接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;將接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長存儲(chǔ)在組成的記錄中。
如此,在代理服務(wù)器向終端發(fā)送查找到的記錄中的該dns響應(yīng)報(bào)文的同時(shí),還需要向終端發(fā)送查找到的該記錄中的剩余有效時(shí)長。以使終端將該dns響應(yīng)報(bào)文與該剩余有效時(shí)長組成一條記錄并存儲(chǔ)在終端本地存儲(chǔ)的dns響應(yīng)報(bào)文與剩余有效時(shí)長之間的對(duì)應(yīng)關(guān)系中。
其次,終端實(shí)時(shí)根據(jù)本地的當(dāng)前時(shí)刻,更新dns響應(yīng)報(bào)文與剩余有效時(shí)長之間的對(duì)應(yīng)關(guān)系中的剩余有效時(shí)長,并當(dāng)該nds響應(yīng)報(bào)文對(duì)應(yīng)的剩余有效時(shí)長到達(dá)零時(shí),則從dns響應(yīng)報(bào)文與剩余有效時(shí)長之間的對(duì)應(yīng)關(guān)系中刪除該記錄。之后,如果還要訪問待訪問網(wǎng)頁,由于已經(jīng)從本地的dns響應(yīng)報(bào)文與剩余有效時(shí)長之間的對(duì)應(yīng)關(guān)系中刪除了該記錄,因此,需要根據(jù)待訪問網(wǎng)頁的第一域名從代理服務(wù)器中重新獲取新的dns響應(yīng)報(bào)文,從而保證了用戶能夠?yàn)g覽待訪問網(wǎng)頁。
進(jìn)一步地,代理服務(wù)器根據(jù)代理服務(wù)器本地的時(shí)刻,在預(yù)設(shè)報(bào)文列表中,實(shí)時(shí)更新組成的記錄中的接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;以及當(dāng)接收的dns響應(yīng)報(bào)文的剩余有效時(shí)長為零時(shí),從預(yù)設(shè)報(bào)文列表中刪除組成的記錄。
在本發(fā)明實(shí)施例中,當(dāng)接收的該dns響應(yīng)報(bào)文的剩余有效時(shí)長為零時(shí),接收的該dns響應(yīng)報(bào)文已經(jīng)無效了,也就無需在本地繼續(xù)存儲(chǔ)接收的該dns響應(yīng)報(bào)文,因此,為了節(jié)省代理服務(wù)器本地的存儲(chǔ)空間,需要預(yù)設(shè)報(bào)文列表中刪除組成的該記錄。
圖4是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理裝置的結(jié)構(gòu)示意圖。參照?qǐng)D4,該裝置包括:
第一接收模塊11,用于接收終端發(fā)送的域名系統(tǒng)dns請(qǐng)求報(bào)文,所述dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;
計(jì)算模塊12,用于計(jì)算所述第一域名的hash值;
查找模塊13,用于在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括所述hash值的記錄,所述預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)hash值與一個(gè)dns響應(yīng)報(bào)文;且不同的記錄包括的hash值和dns響應(yīng)報(bào)文不同;
第一發(fā)送模塊14,用于如果查找到包括所述第一域名的hash值的記錄,向所述終端發(fā)送所述查找到的記錄中的dns響應(yīng)報(bào)文。
進(jìn)一步地,所述裝置還包括:
第二發(fā)送模塊,用于如果未查找到包括所述第一域名的hash值的記錄,則向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文;
第二接收模塊,用于接收所述域名解析服務(wù)器根據(jù)所述dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;
第三發(fā)送模塊,用于向所述終端發(fā)送所述接收到的dns響應(yīng)報(bào)文;
第一存儲(chǔ)模塊,用于將所述第一域名的hash值與所述接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在所述預(yù)設(shè)報(bào)文列表中。
進(jìn)一步地,所述裝置還包括:
獲取模塊,用于從所述接收到的dns響應(yīng)報(bào)文中獲取每一個(gè)響應(yīng)字段中存儲(chǔ)的數(shù)據(jù)的剩余有效時(shí)長;
選擇模塊,用于在所述獲取的所有剩余有效時(shí)長中,選擇最短的剩余有效時(shí)長,并作為所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;
第二存儲(chǔ)模塊,用于將所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長存儲(chǔ)在組成的記錄中。
進(jìn)一步地,所述裝置還包括:
第四發(fā)送模塊,用于在向所述終端發(fā)送所述查找到的記錄中的dns響應(yīng)報(bào)文的同時(shí),向所述終端發(fā)送所述查找到的記錄中的剩余有效時(shí)長。
進(jìn)一步地,所述裝置還包括:
更新模塊,用于根據(jù)所述代理服務(wù)器本地的時(shí)刻,在所述預(yù)設(shè)報(bào)文列表中,實(shí)時(shí)更新所述組成的記錄中的所述接收到的dns響應(yīng)報(bào)文的剩余有效時(shí)長;刪除模塊,用于當(dāng)所述接收的dns響應(yīng)報(bào)文的剩余有效時(shí)長為零時(shí),從所述預(yù)設(shè)報(bào)文列表中刪除組成的所述記錄。
在本發(fā)明實(shí)施例中,接收終端發(fā)送的dns請(qǐng)求報(bào)文,dns請(qǐng)求報(bào)文攜帶待訪問網(wǎng)頁的第一域名;計(jì)算第一域名的hash值;在本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括計(jì)算出的hash值的記錄;如果在預(yù)設(shè)報(bào)文列表中查找到包括計(jì)算出的第一域名的hash值的記錄,則無需從域名解析服務(wù)器中獲取dns響應(yīng)報(bào)文,直接將在本地查找到的該記錄中的dns響應(yīng)報(bào)文發(fā)送給終端。從而節(jié)省了代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,且不受代理服務(wù)器與域名解析服務(wù)器之間的通信連接的影響,繼而避免由于代理服務(wù)器與域名解析服務(wù)器之間的通信連接不穩(wěn)定而降低獲取dns響應(yīng)報(bào)文的獲取效率。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明實(shí)施例的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明實(shí)施例的一般性原理并包括本發(fā)明實(shí)施例未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明實(shí)施例的真正范圍和精神由所附的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明實(shí)施例并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明實(shí)施例的范圍僅由所附的權(quán)利要求來限制。