瀏覽器與服務器通信的方法和瀏覽器裝置制造方法
【專利摘要】本發明公開了一種瀏覽器與服務器通信的方法和瀏覽器裝置,其中,方法包括:在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁,建立主標簽頁與服務器之間的通信連接;開啟本地服務以建立主標簽頁與副標簽頁之間的本地連接;通過本地連接,以及主標簽頁與服務器之間的通信連接實現副標簽頁與服務器之間的通信。根據該方案,瀏覽器與服務器之間的連接數量小于訪問該服務器的標簽頁數量,達到了節省網絡資源的目的。
【專利說明】瀏覽器與服務器通信的方法和瀏覽器裝置
【技術領域】
[0001]本發明涉及互聯網【技術領域】,具體涉及一種瀏覽器與服務器通信的方法和瀏覽器
>J-U ρ?α裝直。
【背景技術】
[0002]瀏覽器是用于請求并顯示服務器上的HTML等網頁文件的一種客戶端程序,是用戶訪問互聯網資源時最常用的工具。用戶輸入URL或點擊鏈接,瀏覽器向相應的服務器請求HTML文件之后,對其進行渲染后顯示。
[0003]為方便用戶同時訪問多個網頁并在多個網頁之間友好切換,當前的瀏覽器一般采用多標簽頁的方式。當在同一窗口下啟動多個標簽頁時,這多個標簽頁一般用于顯示不同的網頁文件,這些網頁文件可能來自于同一服務器或不同服務器。現有的瀏覽器中,對多個標簽頁訪問同一服務器的情況,每個標簽頁都要與該服務器建立通信連接,而這些標簽頁都位于瀏覽器這一客戶端程序中,這種同一客戶端與服務器建立多個連接的方式造成了大量的系統和網絡資源的浪費。
【發明內容】
[0004]鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的瀏覽器與服務器通信的方法和瀏覽器裝置。
[0005]根據本發明的一個方面,提供了一種瀏覽器與服務器通信的方法,包括:
[0006]在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁,建立所述主標簽頁與所述服務器之間的通信連接;
[0007]開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接;
[0008]通過所述本地連接,以及所述主標簽頁與所述服務器之間的通信連接實現所述副標簽頁與所述服務器之間的通信。
[0009]根據本發明的另一方面,提供了一種瀏覽器裝置,包括:
[0010]分類模塊,適于在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁;
[0011]主標簽頁模塊,適于建立所述主標簽頁與所述服務器之間的通信連接,以及開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接;
[0012]副標簽頁模塊,適于通過所述本地連接,以及所述主標簽頁與所述服務器之間的通信連接與所述服務器通信。
[0013]根據本發明的瀏覽器與服務器通信的方法和瀏覽器裝置,在訪問同一服務器的多個標簽頁中,只建立主標簽頁與服務器之間的通信連接,其他的標簽頁作為副標簽頁通過本地連接與主標簽頁通信,再通過主標簽頁與服務器通信。根據該方案,瀏覽器與服務器之間的連接數量小于訪問該服務器的標簽頁數量,達到了節省網絡資源的目的。
[0014]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0015]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅適于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0016]圖1示出了現有技術中瀏覽器的多個標簽頁與服務器通信的示意圖;
[0017]圖2示出了根據本發明一個實施例的瀏覽器與服務器通信的方法的流程圖;
[0018]圖3示出了本發明中瀏覽器的多個標簽頁與服務器通信的示意圖;
[0019]圖4示出了根據本發明另一個實施例的瀏覽器與服務器通信的方法的流程圖;
[0020]圖5a示出了本發明一個實施例中的瀏覽器的多個標簽頁與服務器通信的一種實施方式示意圖;
[0021]圖5b示出了本發明一個實施例中的瀏覽器的多個標簽頁與服務器通信的另一種實施方式的示意圖;
[0022]圖5c示出了本發明一個實施例中的瀏覽器的多個標簽頁與服務器通信的又一種實施方式的示意圖;
[0023]圖6示出了根據本發明一個實施例的瀏覽器裝置的結構示意圖。
【具體實施方式】
[0024]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0025]在對本發明各實施例說明之前,首先對本發明涉及的應用場景做簡要介紹。現有的瀏覽器大都支持多標簽功能,如,Chrome瀏覽器,Firefox瀏覽器,360瀏覽器等。本發明提供的方法可適用于PC、移動設備等平臺上各種支持多標簽功能的瀏覽器。
[0026]用戶使用瀏覽器時的一種常見情景是,在多個標簽頁中請求同一服務器下的HTML頁面,例如,用戶登錄論壇,同時點開兩個帖子,請求不同的HTML文件。這兩個HTML文件的文件名,即帖子的 URL 地址分別為://bbs.abc.com/thread-517.html 和 //bbs.abc.com/thread-516, html,可以看出,兩個文件保存在同一服務器中。另外一種情況是,管理員用戶通過瀏覽器登錄監控頁面,在每個標簽頁面打開不同的監控頁面,這些監控頁面都保存在同一服務器中。
[0027]圖1示出了現有技術中瀏覽器的多個標簽頁與服務器通信的示意圖,如圖1所示,當前打開了訪問同一服務器的4個標簽頁,4個標簽頁中的每一個都與服務器建立了連接,通過建立的連接提交請求和接收響應。每個連接只處理I個標簽頁的請求。雖然這可能使標簽頁較快地收到相應消息,然而,用戶可能對標簽頁的打開時間沒有很高的要求,例如,用戶點開標簽頁后在后臺打開而并不切換,而建立多個連接要多次分配緩存等資源,這會對終端設備的資源造成大的開銷,同時,大量的終端設備上的瀏覽器以這種方式訪問服務器,也會造成網絡資源的浪費。
[0028]圖2示出了根據本發明一個實施例的瀏覽器與服務器通信的方法的流程圖,如圖2所示,該方法包括如下步驟:
[0029]步驟S210,在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁,建立主標簽頁與服務器之間的通信連接。
[0030]對上述情況,在本發明中,只建立部分標簽頁與服務器之間的通信連接。與服務器建立了連接的標簽頁稱為主標簽頁,其它標簽頁為副標簽頁。
[0031]首先,需要從訪問同一個服務器的多個標簽頁中選擇主標簽頁,其中,主標簽頁可以是一個或多個。例如,用戶打開了一個初始的標簽頁,輸入URL://bbs.abc.com/index, html,如果當前還沒有標簽頁訪問該站點的其他頁面,則將該初始標簽頁作為王標簽頁,之后,用戶在該初始標簽頁中點擊了個鏈接地址://bbs.abc.com/thread-5167017-1-1, html,打開了一個新標簽頁,該若新標簽頁請求的是同一服務器中的HTML文件,將新標簽頁作為副標簽頁。或者,在以打開的多個標簽頁中隨機選擇一個或多個主標簽頁,本發明并不限制主標簽頁和副標簽頁的選取方式。
[0032]本發明實施例可采用現有的方式建立通信連接。具體地,瀏覽器分析鏈接中的或用戶輸入的URL,請求域名解析或讀取域名緩存,得到服務器的IP地址,請求與服務器建立TCP連接。服務器進程監聽端口,以便發現是否有瀏覽器發出連接建立請求,根據請求建立連接。
[0033]步驟S220,開啟本地服務以建立主標簽頁與副標簽頁之間的本地連接。
[0034]這里的本地連接是不同應用程序或進程之間的通信連接。主標簽頁直接以建立的通信連接訪問服務器,副標簽頁經過主標簽頁間接地與服務器通信。主標簽頁和副標簽頁之間的信息交換是通過本地連接進行的。
[0035]具體地,主標簽頁被確定后,就開啟一個本地服務(server),用于建立主標簽頁和副標簽頁之間的連接。該本地服務可由LocalConnect1n(本地連接)對象提供,或通過調用 ExterInterface 接口實現。
[0036]步驟S230,通過本地連接以及主標簽頁與服務器之間的通信連接實現副標簽頁與服務器之間的通信。
[0037]圖3示出了本發明中瀏覽器的多個標簽頁與服務器通信的示意圖。如圖3所示,副標簽頁將對服務器的http請求發送給本地服務,如本地的Flash server,其中,Flashserver由瀏覽器中的flash插件建立。之后,本地服務將副標簽頁的請求發送給主標簽頁,主標簽頁通過與服務器之間的通信連接發送該請求。主標簽頁接收到服務器的響應消息后,又通過本地服務將響應消息分發給相應的副標簽頁。
[0038]根據本發明上述實施例提供的方法,在訪問同一服務器的多個標簽頁中,只建立主標簽頁與服務器之間的通信連接,其他的標簽頁作為副標簽頁通過本地連接與主標簽頁通信,再通過主標簽頁與服務器通信。根據該方案,瀏覽器與服務器之間的連接數量小于訪問該服務器的標簽頁數量,將建立連接的開銷分攤到多個標簽頁的請求上,達到了節省資源的目的。
[0039]圖4示出了根據本發明另一個實施例的瀏覽器與服務器通信的方法的流程圖,如圖4所示,方法包括如下步驟:
[0040]步驟S410,在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁。
[0041]可選地,本發明實施例中以第一個訪問服務器的標簽頁作為主標簽頁。當有新標簽頁打開并向服務器提交請求時,例如,打開了鏈接//bbs.abc.com/thread-5167017-1-1, html時,查看瀏覽器是否已開啟與該服務器通信的主標簽頁,如果有,例如//bbs.abc.com/index, html,將新建標簽頁確定為副標簽頁;否則,將新建標簽頁作為主標簽頁。
[0042]步驟S420,建立主標簽頁與服務器之間的通信連接。
[0043]具體地,瀏覽器分析鏈接中或用戶輸入的URL,請求域名解析或讀取域名緩存,得到服務器的IP地址,請求與服務器建立TCP連接。服務器進程監聽端口,以便發現是否有瀏覽器發出連接建立請求,根據請求建立連接。一般地,以HTTP方式在建立的TCP連接上進行請求。HTTP協議是無狀態的,服務器只根據用戶請求返回響應消息。對于實時性要求較高的情況,例如,管理員打開多個控制頁面進行監控,或用戶進行在線游戲等,需要不斷發送請求,在請求報文中,主體所占比例又較低而大多是首部信息,造成網絡資源的利用率低下。
[0044]本發明實施例提供的方法尤其適合于WebSocket連接,WebSocket是HTML5的一種新協議,能夠實現瀏覽器與服務器全雙工通信。對于上述的實時性強的情況,主標簽頁與服務器建立WebSocket連接建立后,連接狀態保持,服務器實時向客戶端推送數據,而無需客戶端頻繁請求。
[0045]步驟S430,開啟本地服務以建立副標簽頁與主標簽頁之間的本地連接。
[0046]具體地,本發明實施例提供了兩種可選的方式用于建立副標簽頁與主標簽頁之間的本地連接。
[0047]方式一:
[0048]本方式需要瀏覽器安裝有Flash插件。利用Flash插件為主標簽頁和副標簽頁建立swf文件(也可稱為Flash文件),通過swf文件之間的通信實現主標簽頁和副標簽頁之間的本地連接。在兩個swf文件之間的通信通常使用LocalConnect1n對象來傳遞信息。
[0049]主標簽頁加載第一 Flash文件,使用LocalConnect1n類(本地連接類)在第一Flash文件中創建第一 LocalConnect1n (本地連接)對象作為本地服務的服務端,在第一LocalConnect1n對象中設定一個連接方法并等待連接,該連接方法具有指定的連接名。
[0050]副標簽頁加載第二 Flash文件,使用LocalConnect1n類在第二 Flash文件中創建第二 LocalConnect1n對象作為本地服務的客戶端,第二 LocalConnect1n對象調用第一LocalConnect1n對象中的連接方法,與第一 Flash文件通信,從而實現主標簽頁和副標簽頁之間的本地連接。
[0051]方式二:
[0052]本方式利用ActiveX插件實現主標簽頁和副標簽頁之間的通信,要求瀏覽器安裝有ActiveX插件。
[0053]ActiveX插件可以像普通程序一樣自由訪問和控制操作系統本地資源,可被瀏覽器中的頁面在需要時加載進IE瀏覽器進程中供頁面調用,從而擴展頁面能力。安裝了ActiveX插件后,各標簽頁在加載頁面時,同時加載ActiveX插件。
[0054]ActiveX插件可以將其功能通過開放API接口方式提供給外部容器窗口使用,容器窗口調用插件API并傳遞相關參數使用插件功能;插件也可以通過開放事件接口,由容器將插件事件與容器中負責處理該事件的事件處理函數進行綁定,從而實現插件回調外部容器函數的目的。
[0055]其中,夕卜部訪問接口(ExternalInterface接口)定義了容器調用插件功能和插件回調容器的功能的兩個方法。在頁面中使用activeX插件的場景下,頁面就是ActiveX插件的容器。
[0056]具體地,在主標簽頁中加載第一 ActiveX插件,在副標簽頁中加載第二 ActiveX插件;通過第一 ActiveX插件中的外部訪問接口和所述第二 ActiveX插件的外部訪問接口建立所述主標簽頁與副標簽頁之間的本地連接。
[0057]步驟S440,為副標簽頁分配標識。
[0058]標識用于區分副標簽頁發送的請求,以及區分服務器返回的響應信息。
[0059]步驟S450,副標簽頁以分配的標識將對服務器的通信請求通過本地連接發送至主標簽頁。
[0060]步驟S460,主標簽頁將副標簽頁發送的通信請求發送給服務器。
[0061]在建立的TCP連接上,將副標簽頁的通信請求發送給服務器,每個主標簽頁能夠在一個TCP連接上發送來自多個副標簽頁的多個請求。將建立連接的開銷分攤給多個請求,節省了資源。
[0062]步驟S470,主標簽頁接收服務器返回的響應信息。
[0063]與步驟S460中的過程對應,服務器將響應消息返回給一個或多個主標簽頁。
[0064]步驟S480,根據標識將響應信息分發給副標簽頁。
[0065]通過與副標簽頁之間的本地連接按照各自的標識將響應消息分發給對應的副標簽頁。
[0066]下面說明上述各個步驟的幾種具體的實施方式:
[0067]圖5a示出了本發明一個實施例中的瀏覽器的多個標簽頁與服務器通信的一種實施方式的示意圖,如圖5所示,主標簽頁和3個副標簽頁訪問同一服務器,其中,主標簽頁開啟Flash server等本地服務,通過本地服務與3個標簽頁之間分別建立起本地連接,主標簽頁、副標簽頁以及服務器之間以步驟S450-S480中描述的方式通信。這種實施方式中,與同一服務器只建立一個連接,有利于節省網絡資源。
[0068]圖5b示出了本發明中一個實施例中的瀏覽器的多個標簽頁與服務器通信的另一種實施方式的示意圖。如圖5b所示,主標簽頁1,2分別與服務器建立了連接。這兩個連接是并行的,可以同時處理請求。圖5a中,主標簽頁通過本地連接依次接收副標簽頁的請求,然后依次接收服務器的應答,時間上的開銷可能較大。與圖5a中的方式相比,這種實施方式能夠并行地進行主標簽頁和副標簽頁之間的通信并向服務器提交請求,標簽頁以更快的速度完成加載。當標簽頁數量增加時,使用更多的主標簽頁可以兼顧速度和網絡資源。另夕卜,還可以根據主標簽頁的狀況動態地選擇,如圖中虛線所示的,副標簽頁I還可以與主標簽頁2建立連接,在主標簽頁I處理的請求較多時,將請求發送給主標簽頁2。
[0069]圖5c示出了本發明中一個實施例中的瀏覽器的多個標簽頁與服務器通信的又一種實施方式的示意圖。如圖5c所示,瀏覽器打開的多個標簽頁訪問兩個服務器,主標簽頁I和副標簽頁I訪問第一服務器,主標簽頁2和副標簽頁2訪問第二服務器,具體訪問第一服務器和第二服務器的方式都采用本發明上述實施例提供的方法,不再贅述。
[0070]根據本發明上述實施例提供的方法,在訪問同一服務器的多個標簽頁中,只建立主標簽頁與服務器之間的通信連接,其他的標簽頁作為副標簽頁通過本地連接與主標簽頁通信,再通過主標簽頁與服務器通信。根據該方案,瀏覽器與服務器之間的連接數量小于訪問該服務器的標簽頁數量,達到了節省網絡資源的目的。
[0071]圖6示出了根據本發明一個實施例的瀏覽器裝置的結構示意圖,如圖6所示,該瀏覽器裝置包括:
[0072]分類模塊610,適于在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁。
[0073]主標簽頁模塊620,適于建立主標簽頁與服務器之間的通信連接,以及開啟本地服務以建立主標簽頁與副標簽頁之間的本地連接。
[0074]副標簽頁模塊630,適于通過本地連接,以及主標簽頁與服務器之間的通信連接與服務器通信。
[0075]可選地,主標簽頁模塊620進一步適于:為每個副標簽頁分配一個標識;將副標簽發送的通信請求發送給服務器;以及接收服務器返回的響應信息,根據標識將響應信息分發給副標簽頁。
[0076]副標簽頁模塊630進一步適于:以標識將對服務器的通信請求通過本地連接發送至主標簽頁。
[0077]可選地,分類模塊610進一步適于:在新建標簽頁向服務器提交請求時,查看瀏覽器是否已開啟與該服務器通信的主標簽頁;若是,將新建標簽頁確定為副標簽頁;否則,將新建標簽頁作為主標簽頁。
[0078]可選地,主標簽頁模塊620進一步適于:加載第一 Flash文件,在第一 Flash文件中創建第一本地連接對象作為本地服務的服務端;副標簽頁模塊630進一步適于:加載第二 Flash文件,在第二 Flash文件中創建第二本地連接對象作為本地服務的客戶端;以及通過第二本地連接對象調用第一本地連接對象中的連接方法建立第一 Flash文件和所述第二Flash文件之間的連接。
[0079]可選地,主標簽頁模塊620進一步適于:在主標簽頁中加載第一 ActiveX插件;副標簽頁模塊630進一步適于:在副標簽頁中加載第二 ActiveX插件;
[0080]主標簽頁模塊620和副標簽頁模塊630通過第一 ActiveX插件中的外部訪問接口和第二 ActiveX插件中的外部訪問接口建立主標簽頁和副標簽頁之間的本地連接。
[0081]可選地,主標簽頁模塊620進一步適于:建立主標簽頁與服務器之間的WebSocket連接。
[0082]根據本發明上述實施例提供的瀏覽器裝置,在訪問同一服務器的多個標簽頁中,只建立主標簽頁與服務器之間的通信連接,其他的標簽頁作為副標簽頁通過本地連接與主標簽頁通信,再通過主標簽頁與服務器通信。根據該方案,瀏覽器與服務器之間的連接數量小于訪問該服務器的標簽頁數量,達到了節省網絡資源的目的。
[0083]在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
[0084]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0085]類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都作為本發明的單獨實施例。
[0086]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0087]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0088]本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的瀏覽器裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為適于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0089]應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0090]本發明公開了:
[0091]Al、一種瀏覽器與服務器通信的方法,所述方法包括:
[0092]在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁,建立所述主標簽頁與所述服務器之間的通信連接;
[0093]開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接;
[0094]通過所述本地連接,以及所述主標簽頁與所述服務器之間的通信連接實現所述副標簽頁與所述服務器之間的通信。
[0095]A2、根據Al所述的方法,其中,在所述開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接之后還包括:為每個副標簽頁分配一個標識;
[0096]通過所述本地連接以及所述主標簽頁與所述服務器之間的通信連接實現所述副標簽頁與所述服務器之間的通信進一步包括:
[0097]所述副標簽頁以所述標識將對所述服務器的通信請求通過本地連接發送至所述主標簽頁;
[0098]所述主標簽頁將所述副標簽發送的通信請求發送給服務器;
[0099]所述主標簽頁接收服務器返回的響應信息,根據所述標識將所述響應信息分發給所述副標簽頁。
[0100]A3、根據Al或A2所述的方法,其中,所述在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁進一步包括:
[0101]新建標簽頁向服務器提交請求時,查看瀏覽器是否已開啟與該服務器通信的主標簽頁;
[0102]若是,將所述新建標簽頁確定為副標簽頁;
[0103]否則,將所述新建標簽頁作為主標簽頁。
[0104]A4、根據A1-A3任一項所述的方法,其中,所述主標簽頁加載有第一 Flash文件,所述副標簽頁加載有第二 Flash文件;
[0105]所述開啟本地服務以建立所述主標簽頁與副標簽頁之間的本地連接進一步包括:
[0106]在所述第一 Flash文件中創建第一本地連接對象作為所述本地服務的服務端;
[0107]在所述第二 Flash文件中創建第二本地連接對象作為所述本地服務的客戶端;
[0108]通過所述第二本地連接對象調用所述第一本地連接對象中的連接方法建立所述第一 Flash文件和所述第二 Flash文件之間的連接。
[0109]A5、根據A1-A3任一項所述的方法,其中,所述開啟本地服務以建立所述主標簽頁與副標簽頁之間的本地連接進一步包括:
[0110]在所述主標簽頁中加載第一 ActiveX插件,在所述副標簽頁中加載第二 ActiveX插件;
[0111]通過第一 ActiveX插件中的外部訪問接口和所述第二 ActiveX插件的外部訪問接口建立所述主標簽頁與副標簽頁之間的本地連接。
[0112]A6、根據Al所述的方法,其中,所述建立所述主標簽頁與服務器之間的通信連接進一步為:建立所述主標簽頁與所述服務器之間的WebSocket連接。
[0113]B7、一種瀏覽器裝置,包括:
[0114]分類模塊,適于在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁;
[0115]主標簽頁模塊,適于建立所述主標簽頁與所述服務器之間的通信連接,以及開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接;
[0116]副標簽頁模塊,適于通過所述本地連接,以及所述主標簽頁與所述服務器之間的通信連接與所述服務器通信。
[0117]B8、根據B7所述的瀏覽器裝置,其中,所述主標簽頁模塊進一步適于:為每個副標簽頁分配一個標識;將所述副標簽發送的通信請求發送給服務器;以及接收服務器返回的響應信息,根據所述標識將所述響應信息分發給所述副標簽頁;
[0118]所述副標簽頁模塊進一步適于:以所述標識將對所述服務器的通信請求通過本地連接發送至所述主標簽頁。
[0119]B9、根據B7或B8所述的瀏覽器裝置,其中,所述分類模塊進一步適于:
[0120]在新建標簽頁向服務器提交請求時,查看瀏覽器是否已開啟與該服務器通信的主標簽頁;
[0121]若是,將所述新建標簽頁確定為副標簽頁;
[0122]否則,將所述新建標簽頁作為主標簽頁。
[0123]B10、根據B7-B9任一項所述的瀏覽器裝置,其中,所述主標簽頁模塊進一步適于:加載第一 Flash文件,在所述第一 Flash文件中創建第一本地連接對象作為所述本地服務的服務端;
[0124]所述副標簽頁模塊進一步適于:加載第二 Flash文件,在所述第二 Flash文件中創建第二本地連接對象作為所述本地服務的客戶端;以及通過所述第二本地連接對象調用所述第一本地連接對象中的連接方法建立所述第一 Flash文件和所述第二 Flash文件之間的連接。
[0125]B11、根據B7-B9任一項所述的瀏覽器裝置,其中,所述主標簽頁模塊進一步適于:在主標簽頁中加載第一 ActiveX插件;
[0126]所述副標簽頁模塊進一步適于:在副標簽頁中加載第二 ActiveX插件;
[0127]所述主標簽頁模塊和所述副標簽頁模塊通過所述第一 ActiveX插件中的外部訪問接口和所述第二 ActiveX插件中的外部訪問接口建立主標簽頁和副標簽頁之間的本地連接。
[0128]B12、根據權利要求B7所述的瀏覽器裝置,其中,所述主標簽頁模塊進一步適于:建立所述主標簽頁與所述服務器之間的WebSocket連接。
【權利要求】
1.一種瀏覽器與服務器通信的方法,所述方法包括: 在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁,建立所述主標簽頁與所述服務器之間的通信連接; 開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接; 通過所述本地連接,以及所述主標簽頁與所述服務器之間的通信連接實現所述副標簽頁與所述服務器之間的通信。
2.根據權利要求1所述的方法,其中,在所述開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接之后還包括:為每個副標簽頁分配一個標識; 通過所述本地連接以及所述主標簽頁與所述服務器之間的通信連接實現所述副標簽頁與所述服務器之間的通信進一步包括: 所述副標簽頁以所述標識將對所述服務器的通信請求通過本地連接發送至所述主標簽頁; 所述主標簽頁將所述副標簽發送的通信請求發送給服務器; 所述主標簽頁接收服務器返回的響應信息,根據所述標識將所述響應信息分發給所述副標簽頁。
3.根據權利要求1或2所述的方法,其中,所述在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁進一步包括: 新建標簽頁向服務器提交請求時,查看瀏覽器是否已開啟與該服務器通信的主標簽頁; 若是,將所述新建標簽頁確定為副標簽頁; 否則,將所述新建標簽頁作為主標簽頁。
4.根據權利要求1-3任一項所述的方法,其中,所述主標簽頁加載有第一Flash文件,所述副標簽頁加載有第二 Flash文件; 所述開啟本地服務以建立所述主標簽頁與副標簽頁之間的本地連接進一步包括: 在所述第一 Flash文件中創建第一本地連接對象作為所述本地服務的服務端; 在所述第二 Flash文件中創建第二本地連接對象作為所述本地服務的客戶端; 通過所述第二本地連接對象調用所述第一本地連接對象中的連接方法建立所述第一Flash文件和所述第二 Flash文件之間的連接。
5.根據權利要求1-3任一項所述的方法,其中,所述開啟本地服務以建立所述主標簽頁與副標簽頁之間的本地連接進一步包括: 在所述主標簽頁中加載第一 ActiveX插件,在所述副標簽頁中加載第二 ActiveX插件; 通過第一 ActiveX插件中的外部訪問接口和所述第二 ActiveX插件的外部訪問接口建立所述主標簽頁與副標簽頁之間的本地連接。
6.根據權利要求1所述的方法,其中,所述建立所述主標簽頁與服務器之間的通信連接進一步為:建立所述主標簽頁與所述服務器之間的WebSocket連接。
7.一種瀏覽器裝置,包括: 分類模塊,適于在訪問同一服務器的多個標簽頁中確定主標簽頁和副標簽頁; 主標簽頁模塊,適于建立所述主標簽頁與所述服務器之間的通信連接,以及開啟本地服務以建立所述主標簽頁與所述副標簽頁之間的本地連接; 副標簽頁模塊,適于通過所述本地連接,以及所述主標簽頁與所述服務器之間的通信連接與所述服務器通信。
8.根據權利要求7所述的瀏覽器裝置,其中,所述主標簽頁模塊進一步適于:為每個副標簽頁分配一個標識;將所述副標簽發送的通信請求發送給服務器;以及接收服務器返回的響應信息,根據所述標識將所述響應信息分發給所述副標簽頁; 所述副標簽頁模塊進一步適于:以所述標識將對所述服務器的通信請求通過本地連接發送至所述主標簽頁。
9.根據權利要求7或8所述的瀏覽器裝置,其中,所述分類模塊進一步適于: 在新建標簽頁向服務器提交請求時,查看瀏覽器是否已開啟與該服務器通信的主標簽頁; 若是,將所述新建標簽頁確定為副標簽頁; 否則,將所述新建標簽頁作為主標簽頁。
10.根據權利要求7-9任一項所述的瀏覽器裝置,其中,所述主標簽頁模塊進一步適于:加載第一 Flash文件,在所述第一Flash文件中創建第一本地連接對象作為所述本地服務的服務端; 所述副標簽頁模塊進一步適于:加載第二 Flash文件,在所述第二 Flash文件中創建第二本地連接對象作為所述本地服務的客戶端;以及通過所述第二本地連接對象調用所述第一本地連接對象中的連接方法建立所述第一 Flash文件和所述第二 Flash文件之間的連接。
【文檔編號】G06F17/30GK104408207SQ201410815990
【公開日】2015年3月11日 申請日期:2014年12月24日 優先權日:2014年12月24日
【發明者】羅正燁 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司