本發(fā)明涉及302重定向領域,特別是涉及跳轉(zhuǎn)URL的生成方法、系統(tǒng),域名解析請求的解析方法、系統(tǒng),支持HTTPS的302跳轉(zhuǎn)方法及網(wǎng)絡系統(tǒng)。
背景技術:
在CDN系統(tǒng)中,HTTP的302跳轉(zhuǎn)方式被廣泛使用。一種場景是,當文件訪問到一臺不存在的服務器時,服務器可以根據(jù)已知的消息將訪問直接重定向到存在文件的服務器上。另外一種場景是,存在一種流媒體的負載均衡系統(tǒng)是HTTP協(xié)議的302跳轉(zhuǎn)方式(HTTP Load Balance,簡稱:HLB)。這種基于HTTP跳轉(zhuǎn)方式的負載均衡系統(tǒng)相對基于DNS協(xié)議的流量負載系統(tǒng)有眾多突出優(yōu)點,如高實時性、準確性、內(nèi)容感知等。
HTTPS協(xié)議是HTTP協(xié)議的安全擴展,提供服務器的身份認證,保護數(shù)據(jù)的隱私和完整性?;诎踩目紤],越來越多的網(wǎng)站開始全站采用HTTPS協(xié)議來展示他們的內(nèi)容。但HTTPS協(xié)議原生不支持HTTP協(xié)議中一種以IP為目的地的302跳轉(zhuǎn)方式。因為,經(jīng)過302跳轉(zhuǎn)后會使攜帶的IP會被當做host來使用,這樣會導致客戶端在SSL握手階段拿IP作為域名來校驗證書的合法性,而不是使用跳轉(zhuǎn)前的域名來驗證(服務器上的證書提供的正是這個域名),這樣會導致證書校驗失敗。
現(xiàn)有的一種支持HTTPS跳轉(zhuǎn)的方式是,將需要跳轉(zhuǎn)到的服務器的名稱或者ID加入到域名當中,如:當希望客戶端到ID為xyz服務器訪問時,返回一個域名為xyz.chinanetcenter.com的302跳轉(zhuǎn)。在客戶端解析xyz.chinanetcenter.com時,服務器會根據(jù)內(nèi)部存儲,得到xyz的IP地址,將其返回給客戶端。但是,這種方法依然存在缺陷,那就是該跳轉(zhuǎn)方式不易于擴展,當服務器變更時DNS必須及時更新服務器的IP列表,否則可能出現(xiàn)無法解析或解析出錯的現(xiàn)象。
總的來說,當一個CDN客戶需要使用全站HTTPS時,CDN系統(tǒng)中使用到的IP為目的的302跳轉(zhuǎn)的技術無法直接支持。
技術實現(xiàn)要素:
鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供跳轉(zhuǎn)URL的生成方法、系統(tǒng),域名解析請求的解析方法、系統(tǒng),支持HTTPS的302跳轉(zhuǎn)方法及網(wǎng)絡系統(tǒng),用于解決現(xiàn)有技術中存在的上述問題。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種跳轉(zhuǎn)URL的生成方法,應用于與客戶端通信連接的跳轉(zhuǎn)服務器,所述方法包括:接收由所述客戶端發(fā)送的第一HTTP請求;指定一內(nèi)容服務器,將該內(nèi)容服務器的IP地址按照預設規(guī)則轉(zhuǎn)換成跳轉(zhuǎn)域名的前綴,將預先注冊的服務域名作為所述跳轉(zhuǎn)域名的后綴,并將所述跳轉(zhuǎn)域名與所述第一HTTP請求中的URL組成跳轉(zhuǎn)URL,發(fā)送至所述客戶端。
于本發(fā)明一實施例中,所述預設規(guī)則包括:Base32算法。
于本發(fā)明一實施例中,所述跳轉(zhuǎn)域名的前綴還包括:所述第一HTTP請求中的域名按照所述預設規(guī)則轉(zhuǎn)換而成的內(nèi)容。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種域名解析請求的解析方法,應用于與客戶端通信連接的DNS服務器,用于解析如上任一所述的跳轉(zhuǎn)域名,所述方法包括:接收由所述客戶端發(fā)送的用于解析所述跳轉(zhuǎn)域名的域名解析請求;在識別出所述域名解析請求中預先注冊的服務域名時,根據(jù)所述預設規(guī)則的逆運算對所述跳轉(zhuǎn)域名的前綴進行轉(zhuǎn)換,從而獲取內(nèi)容服務器的IP地址,發(fā)送至所述客戶端。
于本發(fā)明一實施例中,所述預設規(guī)則包括:Base32算法。
于本發(fā)明一實施例中,根據(jù)所述預設規(guī)則的逆運算對所述跳轉(zhuǎn)域名的前綴進行轉(zhuǎn)換時,還包括:獲取所述第一HTTP請求中的域名。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種支持HTTPS的302跳轉(zhuǎn)方法,應用于分別與客戶端通信連接的跳轉(zhuǎn)服務器、DNS服務器、及內(nèi)容服務器所組成的網(wǎng)絡系統(tǒng),所述方法包括:所述客戶端向所述跳轉(zhuǎn)服務器發(fā)送第一HTTP請求;所述跳轉(zhuǎn)服務器接收所述第一HTTP請求,指定一內(nèi)容服務器,將該內(nèi)容服務器的IP地址按照預設規(guī)則轉(zhuǎn)換成跳轉(zhuǎn)域名的前綴,將預先注冊的服務域名作為所述跳轉(zhuǎn)域名的后綴,并將所述跳轉(zhuǎn)域名與所述第一HTTP請求中的URL組成跳轉(zhuǎn)URL,發(fā)送至所述客戶端;所述客戶端接收所述跳轉(zhuǎn)URL,并向一DNS服務器發(fā)送請求解析其中的跳轉(zhuǎn)域名的域名解析請求;所述DNS服務器接收所述域名解析請求,在識別出其中的所述預先注冊的服務域名時,根據(jù)所述預設規(guī)則對所述跳轉(zhuǎn)域名的前綴進行逆轉(zhuǎn)換,從而獲取所述內(nèi)容服務器的IP地址,發(fā)送至所述客戶端;所述客戶端接收所述內(nèi)容服務器的IP地址,向所述內(nèi)容服務器發(fā)送包含所述跳轉(zhuǎn)URL的第二HTTP請求;所述內(nèi)容服務器接收所述第二HTTP請求,將對應生成的HTTP響應發(fā)送至所述客戶端。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種跳轉(zhuǎn)URL的生成系統(tǒng),應用于與客戶端通信連接的跳轉(zhuǎn)服務器,所述系統(tǒng)包括:請求接收模塊,用于接收由所述客戶端發(fā)送的第一HTTP請求;URL生成模塊,用于指定一內(nèi)容服務器,將該內(nèi)容服務器的IP地址按照預設規(guī)則轉(zhuǎn)換成跳轉(zhuǎn)域名的前綴,將預先注冊的服務域名作為所述跳轉(zhuǎn)域名的后綴,并將所述跳轉(zhuǎn)域名與所述第一HTTP請求中的URL組成跳轉(zhuǎn)URL,發(fā)送至所述客戶端。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種域名解析請求的解析系統(tǒng),應用于與客戶端通信連接的DNS服務器,用于解析如上任一所述的跳轉(zhuǎn)域名,所述系統(tǒng)包括:請求接收模塊,用于接收由所述客戶端發(fā)送的用于解析所述跳轉(zhuǎn)域名的域名解析請求;請求解析模塊,用于在識別出所述域名解析請求中預先注冊的服務域名時,根據(jù)所述預設規(guī)則的逆運算對所述跳轉(zhuǎn)域名的前綴進行轉(zhuǎn)換,從而獲取內(nèi)容服務器的IP地址,發(fā)送至所述客戶端。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種網(wǎng)絡系統(tǒng),包括:分別與客戶端通信連接的跳轉(zhuǎn)服務器、DNS服務器、及內(nèi)容服務器,其中,所述跳轉(zhuǎn)服務器包括:如上所述的跳轉(zhuǎn)URL的生成系統(tǒng),所述DNS服務器包括:如上所述的域名解析請求的解析系統(tǒng)。
如上所述,本發(fā)明的302跳轉(zhuǎn)方法、URL生成方法及系統(tǒng)、域名解析方法及系統(tǒng),解決了全站使用HTTPS時傳統(tǒng)CDN系統(tǒng)中302跳轉(zhuǎn)的技術無法直接使用的問題,并能有效提高可擴展性。
附圖說明
圖1顯示為本發(fā)明一實施例的302跳轉(zhuǎn)方法示意圖。
圖2顯示為本發(fā)明一實施例的跳轉(zhuǎn)URL的生成方法示意圖。
圖3顯示為本發(fā)明一實施例的跳轉(zhuǎn)URL的生成系統(tǒng)示意圖。
圖4顯示為本發(fā)明一實施例的跳轉(zhuǎn)域名解析請求的解析方法示意圖。
圖5顯示為本發(fā)明一實施例的跳轉(zhuǎn)域名解析請求的解析系統(tǒng)示意圖。
具體實施方式
以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施例中的特征可以相互組合。
需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構想,遂圖式中僅顯示與本發(fā)明中有關的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。
針對當前HTTPS的特性,本發(fā)明提出使用由IP產(chǎn)生的特殊域名代替IP的跳轉(zhuǎn)方式,主要解決的問題是:(1)HTTPS原生不支持以IP為目的的302跳轉(zhuǎn);(2)傳統(tǒng)CDN系統(tǒng)中許多技術依賴于HTTP的302跳轉(zhuǎn)方式,且很多是直接以使用IP為目的,可擴展性不佳。
請參閱圖1,本發(fā)明提出一種網(wǎng)絡系統(tǒng),包括:跳轉(zhuǎn)服務器、DNS服務器、內(nèi)容服務器,其中,各所述服務器與客戶端通信連接。
在此基礎上,本發(fā)明提出一種支持HTTPS的302跳轉(zhuǎn)方法,應用于如圖1所示的網(wǎng)絡系統(tǒng)中。以下將結(jié)合圖1中具體的實例說明本方法的實現(xiàn)過程:
1、客戶端,如:瀏覽器等,向跳轉(zhuǎn)服務器發(fā)送第一HTTP請求,例如:“v.cctv.com/s.mp4”。
2、跳轉(zhuǎn)服務器接收所述第一HTTP請求,并通過諸如服務距離最近等原則指定一內(nèi)容服務器,例如,這里指定的內(nèi)容服務器的IP地址為“1.1.1.1”。
3、跳轉(zhuǎn)服務器將該內(nèi)容服務器的IP地址按照預設規(guī)則,如:Base32算法等,轉(zhuǎn)換成跳轉(zhuǎn)域名的前綴,例如,這里利用Base32算法將“1.1.1.1”轉(zhuǎn)換而成的前綴為“GEXDCLRRFYYQ”(以下用“1-1-1-1”代替)。需要說明的是,按照Base32算法轉(zhuǎn)換實際得到的字符串應當為“GEXDCLRRFYYQ====”,但是,由于域名中不允許出現(xiàn)“=”,所以需將字符串中的“=”去除。另外,還需要說明的是,在前綴中,除了包括由內(nèi)容服務器的IP地址轉(zhuǎn)換而來的字符串,還可以包括其他內(nèi)容,例如,由所述第一HTTP請求中的域名根據(jù)所述預設規(guī)則轉(zhuǎn)換而來的內(nèi)容,即將“v.cctv.com”轉(zhuǎn)換成“v-cctv-com”(示例),對應的前綴就為“1-1-1-1-v-cctv-com”。隨后,將預先注冊的服務域名作為所述跳轉(zhuǎn)域名的后綴,例如,這里預先注冊的服務域名為“ourdvss.com”,由此可以得到所述跳轉(zhuǎn)域名為“1-1-1-1.ourdvss.com”,或者,“1-1-1-1-v-cctv-com.ourdvss.com”。
4、跳轉(zhuǎn)服務器將所述跳轉(zhuǎn)域名與所述第一HTTP請求中的URL組成跳轉(zhuǎn)URL,例如,這里將“1-1-1-1.ourdvss.com”和“v.cctv.com/s.mp4”組合成“1-1-1-1.ourdvss.com/v.cctv.com/s.mp4”。
5、跳轉(zhuǎn)服務器將跳轉(zhuǎn)URL發(fā)送至所述客戶端,例如,這里將“1-1-1-1.ourdvss.com/v.cctv.com/s.mp4”發(fā)送至客戶端。
6、客戶端接收所述跳轉(zhuǎn)URL,并將其中的跳轉(zhuǎn)域名發(fā)送至一DNS服務器,例如,這里客戶端將請求解析“1-1-1-1.ourdvss.com”的請求發(fā)送至DNS服務器。
7、DNS服務器接收所述域名解析請求,當識別出其中的所述預先注冊的服務域名時,根據(jù)所述預設規(guī)則的逆算法對所述跳轉(zhuǎn)域名的前綴進行轉(zhuǎn)換,從而獲取所述內(nèi)容服務器的IP地址,例如,這里DNS服務器檢測到了“ourdvss.com”,便根據(jù)Base32算法的逆算法將“1-1-1-1”還原成“1.1.1.1”。需要說明的是,DNS服務器在轉(zhuǎn)換所述跳轉(zhuǎn)域名的前綴之前,會根據(jù)所述預設規(guī)則先補全被去除的符號,例如,對于“1-1-1-1”所指代的字符串“GEXDCLRRFYYQ”,DNS服務器會先根據(jù)Base32算法,將其補全為“GEXDCLRRFYYQ====”,之后,再根據(jù)Base32算法的逆算法對“GEXDCLRRFYYQ====”進行轉(zhuǎn)換。另外,還需要說明的是,當前綴中還包括其他內(nèi)容時,也可以根據(jù)所述預設規(guī)則的逆算法進行還原,例如,這里的前綴還包括由所述第一HTTP請求中的域名根據(jù)所述預設規(guī)則轉(zhuǎn)換而來的內(nèi)容,則DNS服務器在檢測到預先注冊的服務域名時,還會將第一HTTP請求中的域名還原出來,以便后續(xù)統(tǒng)計等用途,如將“v-cctv-com”還原成“v.cctv.com”。
8、DNS服務器將還原出的內(nèi)容服務器的IP地址發(fā)送至客戶端,例如,這里將“1.1.1.1”作為A記錄發(fā)送至客戶端。
9、客戶端接收內(nèi)容服務器的IP地址,向所述內(nèi)容服務器發(fā)送包括所述跳轉(zhuǎn)URL的第二HTTP請求,例如,這里客戶端向內(nèi)容服務器發(fā)送包括“1-1-1-1.ourdvss.com/v.cctv.com/s.mp4”的第二HTTP請求。
10、內(nèi)容服務器接收所述第二HTTP請求,將生成對應的HTTP響應發(fā)送至所述客戶端,該HTTP響應內(nèi)容會包括所述客戶端所期望獲取的內(nèi)容,如視頻文件等。需要說明的是,在該內(nèi)容服務器上預先綁定有服務特定后綴,即預先注冊的服務域名的SSL證書,以供為客戶端提供響應服務。
請參閱圖2,與上述支持HTTPS的302跳轉(zhuǎn)方法實施例原理相似的是,本發(fā)明提供一種跳轉(zhuǎn)URL生成方法,應用于與客戶端通信連接的跳轉(zhuǎn)服務器,優(yōu)選的,應用于如圖1所示的網(wǎng)絡系統(tǒng)中的跳轉(zhuǎn)服務器,所述方法包括:
步驟S21:接收由所述客戶端發(fā)送的第一HTTP請求;
步驟S22:指定一內(nèi)容服務器,將該內(nèi)容服務器的IP地址按照預設規(guī)則(如:Base32算法)轉(zhuǎn)換成跳轉(zhuǎn)域名的前綴,將預先注冊的服務域名作為所述跳轉(zhuǎn)域名的后綴,并將所述跳轉(zhuǎn)域名與所述第一HTTP請求中的URL組成跳轉(zhuǎn)URL,發(fā)送至所述客戶端。
請參閱圖3,與圖2所示方法原理相似的是,本發(fā)明提供一種跳轉(zhuǎn)URL的生成系統(tǒng)300,應用于跳轉(zhuǎn)服務器,包括:請求接收模塊301、URL生成模塊302。
請求接收模塊301接收由所述客戶端發(fā)送的第一HTTP請求;URL生成模塊302指定一內(nèi)容服務器,將該內(nèi)容服務器的IP地址按照預設規(guī)則轉(zhuǎn)換成跳轉(zhuǎn)域名的前綴,將預先注冊的服務域名作為所述跳轉(zhuǎn)域名的后綴,并將所述跳轉(zhuǎn)域名與所述第一HTTP請求中的URL組成跳轉(zhuǎn)URL,發(fā)送至所述客戶端。在一實施例中,還包括將第一HTTP請求的域名按照所述預設規(guī)則進行轉(zhuǎn)換添加到所述前綴中。
請參閱圖4,與上述支持HTTPS的302跳轉(zhuǎn)方法實施例原理相似的是,本發(fā)明提供一種跳轉(zhuǎn)域名解析請求的解析方法,應用于與客戶端通信連接的DNS服務器,優(yōu)選的,應用于如圖1所示的網(wǎng)絡系統(tǒng)中的DNS服務器,所述方法包括:
步驟S41:接收由所述客戶端發(fā)送的用于解析所述跳轉(zhuǎn)域名的域名解析請求;
步驟S42:在識別出所述域名解析請求中的預先注冊的服務域名時,根據(jù)所述預設規(guī)則(如:Base32算法)的逆運算(如:Base算法的逆算法)對所述跳轉(zhuǎn)域名的前綴進行轉(zhuǎn)換,從而獲取內(nèi)容服務器的IP地址,發(fā)送至所述客戶端。在一實施例中,還包括從所述前綴還原出相應的域名并存儲。
請參閱圖5,與圖4所示方法原理相似的是,本發(fā)明提供一種跳轉(zhuǎn)域名解析請求的解析系統(tǒng)500,應用于DNS服務器,包括:請求接收模塊501、請求解析模塊502。
請求接收模塊501接收由所述客戶端發(fā)送的用于解析所述跳轉(zhuǎn)域名的域名解析請求;請求解析模塊502在識別出所述域名解析請求中的預先注冊的服務域名時,根據(jù)所述預設規(guī)則的逆運算對所述跳轉(zhuǎn)域名的前綴進行轉(zhuǎn)換,從而獲取內(nèi)容服務器的IP地址,發(fā)送至所述客戶端。
本發(fā)明提供一種網(wǎng)絡系統(tǒng),包括:內(nèi)容服務器、包括系統(tǒng)300的跳轉(zhuǎn)服務器、包括系統(tǒng)500的DNS服務器,這三類服務器分別與客戶端通信連接,由于前述實施例中的技術特征可以應用于本實施例,因而不再重復贅述。
綜上所述,本發(fā)明的302跳轉(zhuǎn)方法、URL生成方法及系統(tǒng)、域名解析方法及系統(tǒng),解決了全站使用HTTPS時傳統(tǒng)CDN系統(tǒng)中302跳轉(zhuǎn)的技術無法直接使用的問題,并能有效提高可擴展性,有效克服了現(xiàn)有技術中的種種缺點而具高度產(chǎn)業(yè)利用價值。
上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬技術領域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發(fā)明的權利要求所涵蓋。