客戶端跨域請求網絡資源的方法和裝置制造方法
【專利摘要】本發明公開了一種客戶端跨域請求網絡資源的方法和裝置。其中,該方法包括:第一服務器接收客戶端發送的異步網頁請求,其中,異步網頁請求中攜帶有第二服務器的網絡資源地址,其中,第一服務器與客戶端屬于第一域;獲取異步網頁請求中的服務器標志位;若服務器標志位指示第二服務器屬于第二域,則第一服務器提取網絡資源地址生成網絡資源請求,其中,第一域與第二域為不同的域;將網絡資源請求轉發至第二服務器;將接收到的第二服務器的響應數據發送至客戶端,其中,響應數據中攜帶有網絡資源地址對應的網絡資源。通過本發明,解決了現有技術中跨域請求網絡資源操作繁瑣且效率低的問題,達到了客戶端對跨域網絡資源的快速且高效的訪問的效果。
【專利說明】客戶端跨域請求網絡資源的方法和裝置
【技術領域】
[0001]本發明涉及互聯網領域,具體而言,涉及一種客戶端跨域請求網絡資源的方法和
>J-U ρ?α裝直。
【背景技術】
[0002]目前,第二代互聯網Web2.0的到來,使得AJAX技術得到廣泛的運用,而AJAX技術的核心是JavaScript對象XmlHttpRequest,它是一種支持異步請求的技術,用戶可以使用JavaScript向服務器提出請求并得到響應,同時不會影響其他用戶的使用。但是在實際運用中,AJAX技術是通過XMLHttpRequest對象來進行數據的交互的,當用戶需要訪問其他域的頁面內容時,瀏覽器出于安全性的考慮,不允許JS代碼進行跨域操作。針對上述問題,現行的解決方案有如下五種:
[0003]方案一 JSONP方式:利用HTML的script標簽加載并執行其他域JavaScript文件。站點B把要提供的數據作為參數傳給一個站點A定義的全局函數,站點A可以通過引用這個包含上述參數的JS文件跨域獲取數據。這個方案的缺點是:不支持POST,同時需要在目標服務器上增加額外文件。
[0004]方案二:利用IFRAME的window, name的方式:通過在IFRAME中加載一個資源,在目標頁面設置其name屬性,而此name屬性值可被其他域獲取到,以訪問Web服務發送的信息。這個方案的缺點是:它要求服務器端返回一段HTML代碼,同時必須有JS代碼指定window, name =”返回的值”,且該方案只支持Get請求。
[0005]方案三:利用HTML5的postMessage的方式:通過postMessage O方法允許來自不同源的腳本采用異步方式進行有限的通信,以此來實現跨文本檔、多窗口、跨域消息傳遞。這個方案的缺點是:該方案具有局限性,只能應用于HTML5中。
[0006]方案四:利用IFRAME與locat1n, hash相結合的方式:其原理是改變locat1n,hash中的hash值來進行數據傳遞。具體是修改在URL中的locat1n, hash的hash值,而改變hash值并不會導致頁面刷新,所以可以通過hash值來進行數據傳遞。這個方案的缺點是:能夠傳遞的數據容量和類型都有限,且傳遞的數據直接暴露在了 URL中,使得數據的傳輸安全會面臨問題。
[0007]方案五:利用Flash跨域的方式:其原理是利用flash的URLLoader,具體是只要站點B的跨域策略文件中包含了站點A, A站點就可以獲取B站點的數據。這個方案的缺點是:限制條件過多,在使用該方式時需要依賴Flash,且需要在站點服務器目錄下放置crossdomain, xml 文件。
[0008]由上述現行方案可知,當前處理跨域請求網絡資源的方案存在限制條件較多、操作繁瑣、處理效率低以及局限性較大的問題。
[0009]針對現有技術中跨域請求網絡資源操作繁瑣且效率低的問題,目前尚未提出有效的解決方案。
【發明內容】
[0010]本發明的主要目的在于提供一種客戶端跨域請求網絡資源的方法和裝置,以解決現有技術中跨域請求網絡資源操作繁瑣且效率低的問題。
[0011]為了實現上述目的,根據本發明實施例的一個方面,提供了一種客戶端跨域請求網絡資源的方法。
[0012]根據本發明的客戶端跨域請求網絡資源的方法包括:第一服務器接收客戶端發送的異步網頁請求,其中,異步網頁請求中攜帶有請求訪問的網絡資源地址,其中,第一服務器與客戶端屬于第一域;獲取異步網頁請求中的服務器標志位;若服務器標志位指示第二服務器屬于第二域,則第一服務器提取網絡資源地址生成網絡資源請求,其中,第一域與第二域為不同的域;將網絡資源請求轉發至第二服務器;將接收到的第二服務器的響應數據發送至客戶端,其中,響應數據中攜帶有網絡資源地址對應的網絡資源。
[0013]進一步地,在獲取異步網頁請求中的服務器標志位之后,方法包括:判斷服務器標志位是否為預設值;若服務器標志位為預設值,則確定服務器標志位指示第二服務器屬于第二域;若服務器標志位不為預設值,則確定服務器標志位指示第二服務器屬于第一域。
[0014]進一步地,在確定服務器標志位指示第二服務器屬于第一域之后,方法還包括:第一服務器從異步網頁請求中解析出第二服務器的IP地址;將異步網頁請求轉發至具有IP地址的第二服務器。
[0015]進一步地,將接收到的第二服務器的響應數據發送至客戶端包括:在接收到第二服務器的響應數據之后,將響應數據解析為預設格式的解析數據;將解析數據發送至客戶端。
[0016]進一步地,在第一服務器接收客戶端發送的異步網頁請求之前,方法還包括:客戶端使用服務器標志位和網絡資源地址構建異步網頁請求;將異步網頁請求發送至第一服務器。
[0017]為了實現上述目的,根據本發明實施例的另一方面,提供了一種客戶端跨域請求網絡資源的裝置。
[0018]根據本發明的客戶端跨域請求網絡資源的裝置包括:接收模塊,用于第一服務器接收客戶端發送的異步網頁請求,其中,異步網頁請求中攜帶有請求訪問的網絡資源地址,其中,第一服務器與客戶端屬于第一域;獲取模塊,用于獲取異步網頁請求中的服務器標志位;生成模塊,用于若服務器標志位指示第二服務器屬于第二域,則第一服務器提取網絡資源地址生成網絡資源請求,其中,第一域與第二域為不同的域;第一轉發模塊,用于將網絡資源請求轉發至第二服務器;第一發送模塊,用于將接收到的第二服務器的響應數據發送至客戶端,其中,響應數據中攜帶有網絡資源地址對應的網絡資源。
[0019]進一步地,裝置包括:第一判斷模塊,用于在獲取異步網頁請求中的服務器標志位之后,判斷服務器標志位是否為預設值;第一確定模塊,用于若服務器標志位為預設值,則確定服務器標志位指示第二服務器屬于第二域;第二確定模塊,用于若服務器標志位不為預設值,則確定服務器標志位指示第二服務器屬于第一域。
[0020]進一步地,裝置還包括:解析模塊,用于在確定服務器標志位指示第二服務器屬于第一域之后,第一服務器從異步網頁請求中解析出第二服務器的IP地址;第二轉發模塊,用于將異步網頁請求轉發至具有IP地址的第二服務器。
[0021]進一步地,第一發送模塊包括:解析子模塊,用于在接收到第二服務器的響應數據之后,將響應數據解析為預設格式的解析數據;第一發送子模塊,用于將解析數據發送至客戶端。
[0022]進一步地,裝置還包括:構建模塊,用于在第一服務器接收客戶端發送的異步網頁請求之前,客戶端使用服務器標志位和網絡資源地址構建異步網頁請求;第二發送模塊,用于將異步網頁請求發送至第一服務器。
[0023]采用本發明,當第一服務器接收到客戶端發送的異步網頁請求時,根據該請求中包含的服務器標志位判斷請求訪問的網絡資源在第一域或者第二域,若服務器標志位指示請求的網絡資源在第二域,則由第一服務器代理將該異步網頁請求轉發至第二服務器,在第二服務器下發該請求的響應數據至第一服務器之后,由第一服務器將響應數據下發至客戶端。采用本發明,解決了現有技術中跨域請求網絡資源操作繁瑣且效率低的問題,從而達到了客戶端對跨域網絡資源的快速且高效的訪問的效果。
【專利附圖】
【附圖說明】
[0024]構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0025]圖1是根據本發明實施例的客戶端跨域請求網絡資源的方法的流程圖;
[0026]圖2是根據本發明實施例的一種可選的客戶端跨域請求網絡資源的方法的示意圖;以及
[0027]圖3是根據本發明實施例的客戶端跨域請求網絡資源的裝置的示意圖。
【具體實施方式】
[0028]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0029]為了使本【技術領域】的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
[0030]需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0031]首先,在對本發明實施例進行描述的過程中出現的部分名詞或術語適用于如下解釋:
[0032]Web2.0:Web2.0是相對Webl.0的新的時代。指的是一個利用Web的平臺,由用戶主導而生成的內容互聯網產品模式,為了區別傳統由網站雇員主導生成的內容而定義為第二代互聯網,即web2.0。
[0033]JavaScript:一種直譯式腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML (標準通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
[0034]JS文件:用腳本語言JavaScript編寫的腳本文件。
[0035]JS代碼:使用腳本語言JavaScript編寫的腳本文件的代碼。
[0036]AJAX:英文全稱是Asynchronous JavaScript And XML,是指一種創建交互式網頁應用的網頁開發技術。傳統的網頁(不使用AJAX技術)如果需要更新內容,必須重載整個網頁面。使用AJAX技術時,通過在后臺與服務器進行少量數據交換,AJAX可以使網頁實現異步更新,這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
[0037]URL:英文全稱是Uniform Resource Loader,中文名稱是統一資源定位符。是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的標示,是互聯網上標準資源的地址。
[0038]HTML:英文全稱是HyperText Mark-up Language,中文名稱是超文本標記語言或超文本鏈接標示語言。HTML是一種制作萬維網頁面的標準語言,是萬維網瀏覽器使用的一種語言,它消除了不同計算機之間信息交流的障礙。
[0039]JSONP:是JSON的一種“使用模式”,可用于解決主流瀏覽器的跨域數據訪問的問題。
[0040]IFRAME:是HTML標簽,作用于文檔中的文檔,或者浮動的框架(FRAME)。
[0041]本發明實施例提供了一種客戶端跨域請求網絡資源的方法。圖1是根據本發明實施例的客戶端跨域請求網絡資源的方法的流程圖。如圖1所示,該方法可以包括步驟如下:
[0042]步驟S102,第一服務器接收客戶端發送的異步網頁請求,其中,異步網頁請求中攜帶有請求訪問的網絡資源地址,其中,第一服務器與客戶端屬于第一域。
[0043]步驟S104,獲取異步網頁請求中的服務器標志位。
[0044]步驟S106,若服務器標志位指示第二服務器屬于第二域,則第一服務器提取網絡資源地址生成網絡資源請求,其中,第一域與第二域為不同的域。
[0045]步驟S108,將網絡資源請求轉發至第二服務器。
[0046]步驟S110,將接收到的第二服務器的響應數據發送至客戶端,其中,響應數據中攜帶有網絡資源地址對應的網絡資源。
[0047]采用本發明,當第一服務器接收到客戶端發送的異步網頁請求時,根據該請求中包含的服務器標志位判斷請求訪問的網絡資源在第一域或者第二域,若服務器標志位指示請求的網絡資源在第二域,則由第一服務器代理將該異步網頁請求轉發至第二服務器,在第二服務器下發該請求的響應數據至第一服務器之后,由第一服務器將響應數據下發至客戶端。采用本發明,解決了現有技術中跨域請求網絡資源操作繁瑣且效率低的問題,從而達到了客戶端對跨域網絡資源的快速且高效的訪問的效果。
[0048]通過上述實施例,通過在本域(即第一域)的服務端(即上述的第一服務器)代理的方式來完成跨域請求,從而可以避免客戶端方式的各種條件限制。
[0049]在本發明的上述實施例中,在第一服務器接收客戶端發送的異步網頁請求之前,方法還可以包括:客戶端使用服務器標志位和網絡資源地址構建異步網頁請求;將異步網頁請求發送至第一服務器。
[0050]可選地,該實施例中第一域的服務器標志位為0,第二域的服務器標志位為I。
[0051]在上述實施例中,若第一服務器接收到的異步網頁請求的服務器標志位為1,則判斷出該請求的網絡資源在第二域。
[0052]下面結合圖2詳述上述實施例,圖2是根據本發明實施例的一種客戶端跨域請求網絡資源的方法的示意圖。如圖2所示:
[0053]步驟S202,客戶端60向第一服務器70發送異步網頁請求。具體地,如果該請求請求的是第二域的網絡資源,如,WWW.baidu.com,則在該異步網頁請求中設置網絡資源的URL地址(即統一資源定位符,也即上述的網絡資源地址),并設置該請求的服務器標志位為1,然后將生成的該異步網頁請求發送到第一服務器。其中,第二域的網絡資源可以是第三方服務的網絡資源,第一服務器可以是代理服務器。
[0054]可選地,異步網頁請求可以為Ajax請求(即Asynchronous Javascript And XML異步Javascript和XML),即一種創建交互式網頁應用的網頁開發技術。
[0055]XML即標準通用標記語言的子集。
[0056]在本發明的上述實施例中,通過在異步網頁請求中添加服務器標志位,可以使第一服務器快速判斷出該請求的目標服務器,從而對該請求進行快速的處理,這樣客戶端對跨域網絡資源的請求就能得到快速的響應。
[0057]在本發明的上述實施例中,在獲取異步網頁請求中的服務器標志位之后,方法還可以包括:判斷服務器標志位是否為預設值;若服務器標志位為預設值,則確定服務器標志位指示第二服務器屬于第二域;若服務器標志位不為預設值,則確定服務器標志位指示第二服務器屬于第一域。
[0058]在該實施例中,預設值即為1,將與客戶端不同域的服務器標志位可以置為1,則服務器標志位為1,則確定該第二服務器屬于第二域;否則,確定第二服務器屬于第一域。
[0059]在本發明的上述實施例中,在確定服務器標志位指示第二服務器屬于第一域之后,方法還可以包括:第一服務器從異步網頁請求中解析出第二服務器的IP地址;將異步網頁請求轉發至具有IP地址的第二服務器。
[0060]下面結合圖2中步驟S204詳述本實施例:
[0061]步驟S204,第一服務器端截獲客戶端所發送的異步網頁請求之后,根據該請求中的服務器標志位來判斷請求所訪問的網絡資源是否屬于第二域,如果服務器標志位為1,則判斷出該請求所對應的第二服務器(即目標服務器)屬于第二域,則提取網絡資源的URL,生成網絡資源請求,然后將該網絡資源請求轉發給該URL對應的第二服務器(即目標服務器)。
[0062]可選地,第一服務器攔截異步網頁請求之后,若該請求訪問的第二服務器與客戶端位于同一域,則可以對異步網頁請求進行解析得到第二服務器的IP地址,按照IP地址轉發至同一域的第二服務器。
[0063]在本發明的上述實施例中,經過步驟S204,能夠通過第一服務器判斷出客戶端的請求是否為對第二域網絡資源的請求,若第二服務器屬于第二域,則提取出請求中的網絡資源地址,這樣就可以通過第一服務器代理訪問目標的網絡資源,避免了直接使用客戶端對第二域網絡資源進行請求時的繁瑣操作,使客戶端對跨域網絡資源的請求得到快速的響應。
[0064]在本發明的上述實施例中,步驟SllO(如圖1所示),將接收到的第二服務器的響應數據發送至客戶端可以包括:在接收到第二服務器的響應數據之后,將響應數據解析為預設格式的解析數據;將解析數據發送至客戶端。
[0065]如圖2所示,可以通過步驟S206實現上述實施例:
[0066]步驟S206,第二服務器返回網絡資源請求的響應數據至第一服務器。
[0067]具體地,第二服務器根據第一服務器轉發的異步網頁請求中的網絡資源地址對目標的網絡資源進行訪問,然后將獲取的響應數據下發至第一服務器,其中第二服務器可以是第三方WEB服務器。
[0068]步驟S208,第一服務器將響應數據進行解析后下發到客戶端。
[0069]具體地,目標服務器(即第二服務器)返回響應數據,本地代理服務器(即第一服務器)接受響應數據后,本地代理服務器可以對響應數據進行解析處理,得到預設格式的解析數據(如,文本格式),將解析數據發送到客戶端。
[0070]根據本發明的上述實施例,對于客戶端對第二域的網絡資源的請求,可以轉換為第一服務器對第二域的網絡資源的請求,然后由第一服務器對接收到的第二服務器的響應數據之后下發至客戶端,這樣就避免了直接使用客戶端對第二域網絡資源進行請求時的繁瑣操作,使得客戶端對第二域的網絡資源的請求得到快速的響應。
[0071]通過本發明實施例,只需要讓服務器端(如與客戶端屬于同一域的服務器)構造請求代理,通過這個代理來訪問其他域名下的資源,然后在瀏覽器端獲取服務器端跨域訪問的結果,既可以解決Post,Get的限制,同時也能夠解決所有前端的跨域訪問限制。前端開發人員只要向代理服務器傳遞請求的跨域資源,就能實現跨域請求,相對其他前端手段,開發難度大大降低。
[0072]本發明實施例還提供了一種客戶端跨域請求網絡資源的裝置。如圖3所示,該裝置可以包括如下模塊:接收模塊10、獲取模塊20、生成模塊30、第一轉發模塊40以及第一發送模塊50。
[0073]其中,接收模塊,用于第一服務器接收客戶端發送的異步網頁請求,其中,異步網頁請求中攜帶有請求訪問的網絡資源地址(即目標的網絡資源的網絡資源地址,如URL),其中,第一服務器與客戶端屬于第一域;獲取模塊,用于獲取異步網頁請求中的服務器標志位;生成模塊,用于若服務器標志位指示第二服務器屬于第二域,則第一服務器提取網絡資源地址生成網絡資源請求,其中,第一域與第二域為不同的域;第一轉發模塊,用于將網絡資源請求轉發至第二服務器;第一發送模塊,用于將接收到的第二服務器的響應數據發送至客戶端,其中,響應數據中攜帶有網絡資源地址對應的網絡資源。
[0074]采用本發明,當接收模塊接收到客戶端發送至第一服務器的異步網頁請求時,獲取模塊根據該請求中包含的服務器標志位判斷請求訪問的網絡資源在第一域或者第二域,若服務器標志位指示請求的網絡資源在第二域,則生成模塊根據該請求信息生成網絡資源請求,然后第一轉發模塊將第一服務器生成的網絡資源請求轉發至第二服務器,在第二服務器下發該請求的響應數據至第一服務器之后,由第一發送模塊將第一服務器接收到的響應數據下發至客戶端。采用本發明,解決了現有技術中跨域請求網絡資源操作繁瑣且效率低的問題,從而達到了客戶端對跨域網絡資源的快速且高效的訪問的效果。
[0075]在本發明的上述實施例中,該裝置還可以包括:構建模塊,用于在第一服務器接收客戶端發送的異步網頁請求之前,客戶端使用服務器標志位和網絡資源地址構建異步網頁請求;第二發送模塊,用于將異步網頁請求發送至第一服務器。
[0076]通過上述實施例中,在異步網頁請求中添加服務器標志位,可以使第一服務器快速判斷該請求目標服務器,從而對該請求進行快速的處理,這樣客戶端對跨域網絡資源的請求就能得到快速的響應。
[0077]在本發明的上述實施例中,該裝置還可以包括:第一判斷模塊,用于在獲取異步網頁請求中的服務器標志位之后,判斷服務器標志位是否為預設值;第一確定模塊,用于若服務器標志位為預設值,則確定服務器標志位指示第二服務器屬于第二域;第二確定模塊,用于若服務器標志位不為預設值,則確定服務器標志位指示第二服務器屬于第一域。
[0078]在本發明的上述實施例中,該裝置還可以包括:解析模塊,用于在確定服務器標志位指示第二服務器屬于第一域之后,第一服務器從異步網頁請求中解析出第二服務器的IP地址;第二轉發模塊,用于將異步網頁請求轉發至具有IP地址的第二服務器。
[0079]在本發明的上述實施例中,通過解析模塊的分析,能夠快速判斷出客戶端的請求是否為對第二域網絡資源的請求,若該請求為第二域網絡資源的請求,即第二服務器屬于第二域,則需提取出請求之中所包含的第二服務器的IP地址,再根據上述IP將請求轉發至第二服務器,避免了直接使用客戶端對第二域網絡資源進行請求時的繁瑣操作,使客戶端對跨域網絡資源的請求得到快速的響應。
[0080]在本發明的上述實施例中,第一發送模塊可以包括:解析子模塊,用于在接收到第二服務器的響應數據之后,將響應數據解析為預設格式的解析數據;第一發送子模塊,用于將解析數據發送至客戶端。
[0081]本實施例中所提供的各個模塊與方法實施例對應步驟所提供的使用方法相同、應用場景也可以相同。當然,需要注意的是,上述模塊涉及的方案可以不限于上述實施例中的內容和場景,且上述模塊可以運行在計算機終端或移動終端,可以通過軟件或硬件實現。
[0082]從以上的描述中,可以看出,本發明實現了如下技術效果:
[0083]采用本發明,當第一服務器接收到客戶端發送的異步網頁請求時,根據該請求中包含的服務器標志位判斷請求訪問的網絡資源在第一域或者第二域,若服務器標志位指示請求的網絡資源在第二域,則由第一服務器代理將該異步網頁請求轉發至第二服務器,在第二服務器下發該請求的響應數據至第一服務器之后,由第一服務器將響應數據下發至客戶端。采用本發明,解決了現有技術中跨域請求網絡資源操作繁瑣且效率低的問題,從而達到了客戶端對跨域網絡資源的快速且高效的訪問的效果。
[0084]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0085]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。
[0086]在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0087]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合
[0088]在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0089]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種客戶端跨域請求網絡資源的方法,其特征在于,包括: 第一服務器接收客戶端發送的異步網頁請求,其中,所述異步網頁請求中攜帶有請求訪問的網絡資源地址,其中,所述第一服務器與所述客戶端屬于第一域; 獲取所述異步網頁請求中的服務器標志位; 若所述服務器標志位指示第二服務器屬于第二域,則所述第一服務器提取所述網絡資源地址生成網絡資源請求,其中,所述第一域與所述第二域為不同的域; 將所述網絡資源請求轉發至所述第二服務器; 將接收到的所述第二服務器的響應數據發送至所述客戶端,其中,所述響應數據中攜帶有所述網絡資源地址對應的網絡資源。
2.根據權利要求1所述的方法,其特征在于,在獲取所述異步網頁請求中的服務器標志位之后,所述方法包括: 判斷所述服務器標志位是否為預設值; 若所述服務器標志位為預設值,則確定所述服務器標志位指示所述第二服務器屬于所述第二域; 若所述服務器標志位不為預設值,則確定所述服務器標志位指示所述第二服務器屬于所述第一域。
3.根據權利要求2所述的方法,其特征在于,在確定所述服務器標志位指示所述第二服務器屬于所述第一域之后,所述方法還包括: 所述第一服務器從所述異步網頁請求中解析出所述第二服務器的IP地址; 將所述異步網頁請求轉發至具有所述IP地址的所述第二服務器。
4.根據權利要求1至3中任意一項所述的方法,其特征在于,將接收到的所述第二服務器的響應數據發送至所述客戶端包括: 在接收到所述第二服務器的響應數據之后,將所述響應數據解析為預設格式的解析數據; 將所述解析數據發送至所述客戶端。
5.根據權利要求1至3中任意一項所述的方法,其特征在于,在第一服務器接收客戶端發送的異步網頁請求之前,所述方法還包括: 所述客戶端使用服務器標志位和網絡資源地址構建所述異步網頁請求; 將所述異步網頁請求發送至所述第一服務器。
6.一種客戶端跨域請求網絡資源的裝置,其特征在于,包括: 接收模塊,用于第一服務器接收客戶端發送的異步網頁請求,其中,所述異步網頁請求中攜帶有請求訪問的網絡資源地址,其中,所述第一服務器與所述客戶端屬于第一域; 獲取模塊,用于獲取所述異步網頁請求中的服務器標志位; 生成模塊,用于若所述服務器標志位指示第二服務器屬于第二域,則所述第一服務器提取所述網絡資源地址生成網絡資源請求,其中,所述第一域與所述第二域為不同的域;第一轉發模塊,用于將所述網絡資源請求轉發至所述第二服務器; 第一發送模塊,用于將接收到的所述第二服務器的響應數據發送至所述客戶端,其中,所述響應數據中攜帶有所述網絡資源地址對應的網絡資源。
7.根據權利要求6所述的裝置,其特征在于,所述裝置包括: 第一判斷模塊,用于在獲取所述異步網頁請求中的服務器標志位之后,判斷所述服務器標志位是否為預設值; 第一確定模塊,用于若所述服務器標志位為預設值,則確定所述服務器標志位指示所述第二服務器屬于所述第二域; 第二確定模塊,用于若所述服務器標志位不為預設值,則確定所述服務器標志位指示所述第二服務器屬于所述第一域。
8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 解析模塊,用于在確定所述服務器標志位指示所述第二服務器屬于所述第一域之后,所述第一服務器從所述異步網頁請求中解析出所述第二服務器的IP地址; 第二轉發模塊,用于將所述異步網頁請求轉發至具有所述IP地址的所述第二服務器。
9.根據權利要求6至8中任意一項所述的裝置,其特征在于,所述第一發送模塊包括: 解析子模塊,用于在接收到所述第二服務器的響應數據之后,將所述響應數據解析為預設格式的解析數據; 第一發送子模塊,用于將所述解析數據發送至所述客戶端。
10.根據權利要求6至8中任意一項所述的裝置,其特征在于,所述裝置還包括: 構建模塊,用于在第一服務器接收客戶端發送的異步網頁請求之前,所述客戶端使用服務器標志位和網絡資源地址構建所述異步網頁請求; 第二發送模塊,用于將所述異步網頁請求發送至所述第一服務器。
【文檔編號】H04L29/08GK104410711SQ201410779427
【公開日】2015年3月11日 申請日期:2014年12月15日 優先權日:2014年12月15日
【發明者】李慶 申請人:北京國雙科技有限公司