對握手請求消息進行解析,獲取握手請求消息中的域名,握手請求消 息中還可以攜帶終端支持的加密算法列表等信息。例如,用戶在終端的瀏覽器中,點擊拍拍 網(wǎng)對應(yīng)的鏈接,則終端可以檢測到對應(yīng)該鏈接的點擊指令,此時可以觸發(fā)終端向CDN服務(wù) 器發(fā)送攜帶有域名為WWW.paipai.com的握手請求消息,⑶N服務(wù)器可以接收該握手請求消 息,并對握手請求消息進行解析,獲取其中的域名www.paipai.com。
[0056] 可選的,如果握手請求消息中未攜帶有目標域名,則可以拒絕該握手請求消息。
[0057] 在實施中,如果終端的瀏覽器不支持SNI(ServerNameIndication服務(wù)器名字 指示),則終端向CDN服務(wù)器發(fā)送握手請求消息中,不攜帶網(wǎng)站的域名(即目標域名),CDN 服務(wù)器接收到該握手請求消息后,對接收到的握手請求消息進行解析,如果確定該握手請 求消息中未攜帶有目標域名,則CDN服務(wù)器可以拒絕該握手請求消息。CDN服務(wù)器拒絕握 手請求消息的方式可以多種多樣,可以向終端返回拒絕消息,或者,可以忽略該握手請求消 息,或者,可以向預(yù)設(shè)的默認服務(wù)器地址發(fā)送該握手請求消息,默認服務(wù)器可以返回攜帶有 自身的證書的握手反饋消息,終端可以接收握手反饋消息,對握手反饋消息進行解析,獲取 證書中的域名,如果該證書中的域名不是用戶訪問的域名,則向用戶提示訪問出錯。
[0058] 步驟302,⑶N服務(wù)器根據(jù)預(yù)先存儲的域名和業(yè)務(wù)服務(wù)器地址的對應(yīng)關(guān)系,確定握 手請求消息中攜帶的目標域名對應(yīng)的目標業(yè)務(wù)服務(wù)器地址。
[0059] 在實施中,網(wǎng)站的業(yè)務(wù)服務(wù)器可以預(yù)先在⑶N服務(wù)器登記自身的服務(wù)器信息,如 網(wǎng)站的域名和業(yè)務(wù)服務(wù)器的IP(InternetProtocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址等信息, 其中,業(yè)務(wù)服務(wù)器的IP地址即業(yè)務(wù)服務(wù)器地址。⑶N服務(wù)器可以建立域名和IP地址的對應(yīng) 關(guān)系表,如表1 :
[0060] 表1域名和業(yè)務(wù)服務(wù)器的IP地址的對應(yīng)關(guān)系表
[0061]
[0062] 當CDN服務(wù)器獲取目標域名后,可以在上述對應(yīng)關(guān)系表中查詢目標域名是否為已 記錄的域名,如果目標域名為已記錄的域名,則可以獲取目標域名對應(yīng)的業(yè)務(wù)服務(wù)器地址 (即目標業(yè)務(wù)服務(wù)器地址)。例如,⑶N服務(wù)器獲取目標域名www.paipai.com之后,可以在 上述對應(yīng)關(guān)系表中進行查詢,經(jīng)查詢,www.paipai.com為已記錄的域名,則⑶N服務(wù)器可以 獲取www.paipai.com對應(yīng)的業(yè)務(wù)服務(wù)器地址240. 395. 0. 2。
[0063] 可選的,CDN服務(wù)器根據(jù)預(yù)先存儲的域名和業(yè)務(wù)服務(wù)器地址的對應(yīng)關(guān)系,確定目標 域名對應(yīng)的目標業(yè)務(wù)服務(wù)器地址之后,還可以存儲終端與目標業(yè)務(wù)服務(wù)器的對應(yīng)關(guān)系。 [0064] 在實施中,終端向⑶N服務(wù)器發(fā)送握手請求消息之前,可以通過網(wǎng)絡(luò)與⑶N服務(wù)器 之間建立TCP(TransmissionControlProtocol,傳輸控制協(xié)議)連接,Q)N服務(wù)器可以為 該TCP連接分配第一端口,并記錄相應(yīng)的第一端口標識。當⑶N服務(wù)器確定目標域名對應(yīng)的 目標業(yè)務(wù)服務(wù)器地址之后,可以通過網(wǎng)絡(luò)與目標業(yè)務(wù)服務(wù)器之間建立TCP連接,并為該TCP 連接分配第二端口,并記錄相應(yīng)的第二端口標識。⑶N服務(wù)器可以將第一端口標識與第二端 口標識對應(yīng)的進行存儲,建立端口標識的對應(yīng)關(guān)系,即終端與目標業(yè)務(wù)服務(wù)器的對應(yīng)關(guān)系。 CDN服務(wù)器還可以接收多個終端發(fā)送的攜帶有同一目標域名的握手請求消息,每接收到一 個握手請求消息,⑶N服務(wù)器都可以建立一個與目標業(yè)務(wù)服務(wù)器之間的TCP連接,進而⑶N 服務(wù)器可以存儲多對端口標識的對應(yīng)關(guān)系。
[0065] 步驟303,⑶N服務(wù)器向目標業(yè)務(wù)服務(wù)器地址對應(yīng)的目標業(yè)務(wù)服務(wù)器轉(zhuǎn)發(fā)該握手 請求消息,以使目標業(yè)務(wù)服務(wù)器與終端進行握手處理過程。
[0066] 在實施中,當⑶N服務(wù)器獲取目標域名對應(yīng)的目標業(yè)務(wù)服務(wù)器地址之后,⑶N服 務(wù)器可以向該目標業(yè)務(wù)服務(wù)器地址發(fā)送相應(yīng)的握手請求消息。例如,⑶N服務(wù)器獲取 paipai.com對應(yīng)的目標業(yè)務(wù)服務(wù)器地址240. 395. 0. 2之后,可以根據(jù)240. 395. 0. 2與拍拍 網(wǎng)服務(wù)器建立TCP連接,然后可以將握手請求消息通過該TCP連接發(fā)送給拍拍網(wǎng)服務(wù)器。 [0067] 步驟304,目標業(yè)務(wù)服務(wù)器接收⑶N服務(wù)器轉(zhuǎn)發(fā)的終端的握手請求消息。
[0068] 在實施中,目標業(yè)務(wù)服務(wù)器可以接收CDN服務(wù)器轉(zhuǎn)發(fā)的終端的握手請求消息,并 對握手請求消息進行解析,獲取握手請求消息中攜帶的終端支持的加密算法列表等信息, 以便在握手處理過程中,使用相應(yīng)的加密算法,對傳輸?shù)臄?shù)據(jù)進行加解密處理。
[0069] 步驟305,目標業(yè)務(wù)服務(wù)器與終端進行握手處理過程。
[0070] 其中,握手處理過程是終端獲取目標業(yè)務(wù)服務(wù)器的公鑰、業(yè)務(wù)服務(wù)器與終端之間 確認傳輸數(shù)據(jù)時采用的加密算法以及終端對業(yè)務(wù)服務(wù)器進行身份認證的過程。
[0071] 在實施中,業(yè)務(wù)服務(wù)器可以預(yù)先設(shè)置一對公鑰和私鑰,私鑰由業(yè)務(wù)服務(wù)器保存在 本地,用于業(yè)務(wù)服務(wù)器對傳輸數(shù)據(jù)進行加解密,公鑰則存儲在證書中,以便發(fā)送給終端,用 于終端對傳輸數(shù)據(jù)進行加解密,證書中還包含有業(yè)務(wù)服務(wù)器的服務(wù)器身份信息,服務(wù)器身 份信息可以用于終端對CDN服務(wù)器的身份驗證。目標業(yè)務(wù)服務(wù)器接收到握手請求消息之 后,可以將終端支持的加密算法列表中的一種或幾種加密算法確定為握手處理過程期間使 用的加密算法,并向終端發(fā)送攜帶有確定出的握手處理過程期間使用的加密算法和證書等 信息的握手反饋消息(或稱ServerHello消息,服務(wù)器問候消息)。終端接收到握手反饋 消息后,可以對握手反饋消息中的證書中的服務(wù)器身份信息進行校驗,驗證服務(wù)器身份信 息的合法性,并獲取證書中目標業(yè)務(wù)服務(wù)器的公鑰,以便后續(xù)對數(shù)據(jù)進行加密或解密處理。
[0072] 可選的,可以由⑶N服務(wù)器來轉(zhuǎn)發(fā)終端與目標業(yè)務(wù)服務(wù)器之間的通信消息,相應(yīng) 的,步驟305的處理可以如下:目標業(yè)務(wù)服務(wù)器通過⑶N服務(wù)器的透傳,與終端進行握手處 理過程。
[0073] 在實施中,目標業(yè)務(wù)服務(wù)器接收到握手請求消息之后,可以將握手反饋消息發(fā)送 給⑶N服務(wù)器,⑶N服務(wù)器的第二端口則可以接收到目標業(yè)務(wù)服務(wù)器發(fā)送的信息,⑶N服務(wù) 器可以獲取該信息和第二端口標識,然后在已存儲的端口標識的對應(yīng)關(guān)系中,查詢與第二 端口標識對應(yīng)的端口標識(即第一端口標識),進而確定第一端口標識對應(yīng)的第一端口,然 后向第一端口發(fā)送握手反饋消息。這樣,該握手反饋消息可以通過CDN服務(wù)器與終端之間 的TCP連接發(fā)送給終端。同理,當終端通過⑶N服務(wù)器向目標業(yè)務(wù)服務(wù)器發(fā)送消息時,處理 過程相同,即CDN服務(wù)器可以實現(xiàn)對目標業(yè)務(wù)服務(wù)器和終端之間的通信消息的透傳,以使 目標業(yè)務(wù)服務(wù)器和終端可以快速的完成握手處理過程。
[0074] 步驟306,⑶N服務(wù)器對終端和目標業(yè)務(wù)服務(wù)器之間的后續(xù)的通信消息進行透傳。
[0075] 其中,通信消息可以是數(shù)據(jù)請求消息、數(shù)據(jù)響應(yīng)消息等任意類型的消息。
[0076] 在實施中,終端和目標業(yè)務(wù)服務(wù)器完成握手處理過程之后,⑶N服務(wù)器在接收到終 端和目標業(yè)務(wù)服務(wù)器的通訊消息時,可以不對通訊消息進行解析處理,將通信消息進行透 傳,以加快終端訪問目標業(yè)務(wù)服務(wù)器的響應(yīng)速度。
[0077] 可選的,步驟306的處理過程可以如下:當⑶N服務(wù)器接收到終端向目標業(yè)務(wù)服務(wù) 器發(fā)送的第一通信消息時,將第一通信消息透傳給目標業(yè)務(wù)服務(wù)器;當CDN服務(wù)器接收到 目標業(yè)務(wù)服務(wù)器向終端發(fā)送的第二通信消息時,將第二通信消息透傳給終端。
[0078] 在實施中,終端可以通過與⑶N服務(wù)器建立的TCP連接發(fā)送通信消息,⑶N服務(wù) 器的第一端口則可以接收到終端發(fā)送的通信消息,CDN服務(wù)器可以獲取該通信消息和第一 端口標識,然后在已存儲的端口標識的對應(yīng)關(guān)系中,查詢與第一端口標識對應(yīng)的端口標識 (即第二端口標識),進而確定第二端口標識對應(yīng)的第二端口,然后向第二端口發(fā)送接收到 的終端的通信消息,這樣,該通信消息可以通過CDN服務(wù)器與業(yè)務(wù)服務(wù)器之間的TCP連接發(fā) 送給業(yè)務(wù)服務(wù)器。同理,目標業(yè)務(wù)服務(wù)器可以通過與⑶N服務(wù)器建立的TCP連接向⑶N服 務(wù)器發(fā)送通信消息,CDN服務(wù)器的第二端口則可以接收到目標業(yè)務(wù)服務(wù)器發(fā)送的通信消息, CDN服務(wù)器可以獲取該通信消息和第二端口標識,然后在已存儲的端口標識的對應(yīng)關(guān)系中, 查詢與第二端口標識對應(yīng)的端口標識(即第一端口標識),進而確定第一端口標識對應(yīng)的 第一端口,然后向第一端口發(fā)送接收到的目標業(yè)務(wù)服務(wù)器的通信消息,這樣,該通信消息可 以通過⑶N服務(wù)器與終端之間的TCP連接發(fā)送給終端。
[0079] 步驟307,目標業(yè)務(wù)服務(wù)器通過⑶N服務(wù)器的透傳,與終端進行通信消息的傳輸。
[0080] 可選的,目標業(yè)務(wù)服務(wù)器可以對通信消息進行加密或解密的處理,相應(yīng)的,步驟 307的處理過程可以如下:當目標業(yè)務(wù)服務(wù)器接收到CDN服務(wù)器透傳的終端的第一通信消 息時,使用預(yù)先存儲的私鑰對第一通信消息進行解密,對解密后的第一通信消息進行處理; 當目標業(yè)務(wù)服務(wù)器存在需要發(fā)送給終端的第二通信消息時,使用預(yù)先存儲的私鑰對第二通 信消息進行加密,將加密后的第二通信消息通過CDN服務(wù)器透傳給終端。
[0081] 在實施中,當終端向目標業(yè)務(wù)服務(wù)器地址發(fā)送數(shù)據(jù)時,終端可以使用公鑰對數(shù)據(jù) 進行加密,生成可以在網(wǎng)絡(luò)中安全傳輸?shù)耐ㄐ畔?,進而可以向CDN服務(wù)器發(fā)送該通信消 息(即第一通信消息),CDN服務(wù)器可以接收到第一通信消息,并按照上述步驟中的處理 方式將第一通信消息透傳給目標業(yè)務(wù)服