亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

靜態(tài)頁面生成方法、網(wǎng)頁訪問方法及裝置與流程

文檔序號:11177178閱讀:312來源:國知局
靜態(tài)頁面生成方法、網(wǎng)頁訪問方法及裝置與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種靜態(tài)頁面生成方法、網(wǎng)頁訪問方法及裝置。



背景技術(shù):

網(wǎng)站頁面(即網(wǎng)頁)包括靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁;靜態(tài)網(wǎng)頁是利用html(hypertextmarkuplanguage,超文本標(biāo)記語言)語言生成的html頁面,html頁面一旦生成,其內(nèi)容和顯示效果基本不會發(fā)生變化。動態(tài)網(wǎng)頁則不然,頁面代碼雖然沒有變,但是顯示內(nèi)容可以隨著時間、環(huán)境或者數(shù)據(jù)庫操作的結(jié)果而發(fā)生改變。

目前,網(wǎng)站大都是基于動態(tài)網(wǎng)頁來呈現(xiàn)信息,基于動態(tài)網(wǎng)頁良好的交互性與信息的及時性,給用戶提供豐富多彩的咨詢。然而,由于動態(tài)網(wǎng)頁每次訪問都需要后臺服務(wù)器重新生成整個頁面信息,所以每當(dāng)重新訪問網(wǎng)頁頁面時都需要訪問服務(wù)器,這就需要具備較好的網(wǎng)絡(luò)傳輸速度以保證網(wǎng)頁及時響應(yīng)。換言之,頁面的訪問速度很大程度上取決于網(wǎng)絡(luò)傳輸速度。當(dāng)這種網(wǎng)頁請求發(fā)生在網(wǎng)絡(luò)傳輸速度有限、流量有限的情況(例如,在移動端、可穿戴智能設(shè)備、導(dǎo)航儀等以app(application,應(yīng)用程序)來請求頁面的情況)下,有限的帶寬很難保證網(wǎng)頁的及時響應(yīng),導(dǎo)致頁面訪問速度慢。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例中提供了一種靜態(tài)頁面生成方法、網(wǎng)頁訪問方法及裝置,以解決現(xiàn)有技術(shù)中的動態(tài)網(wǎng)頁響應(yīng)不及時無法流暢展示的問題。

為了解決上述技術(shù)問題,本發(fā)明實施例公開了如下技術(shù)方案:

第一方面,本發(fā)明提供一種靜態(tài)頁面生成方法,應(yīng)用于服務(wù)器中,所述方法包括:

獲取目標(biāo)頁面對應(yīng)的層疊樣式表單css文件和js文件;

獲取所述目標(biāo)頁面的半靜態(tài)化頁面超文本標(biāo)記語言html文件,所述半靜態(tài)化頁面html文件中配置有所述目標(biāo)頁面獲取動態(tài)數(shù)據(jù)所需的服務(wù)器統(tǒng)一資源定位符url地址;

獲取模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的所述css文件、所述js文件及所述半靜態(tài)化頁面html文件;

將所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包發(fā)送給所述客戶端,以使所述客戶端將所述模板靜態(tài)化文件包存儲在客戶端本地,并根據(jù)所述模板靜態(tài)化文件包生成所述目標(biāo)頁面對應(yīng)的靜態(tài)頁面。

可選地,所述獲取所述目標(biāo)頁面的半靜態(tài)化頁面html文件,包括:

獲取符合freemarker標(biāo)準(zhǔn)的靜態(tài)頁面html模板;

將所述靜態(tài)頁面html模板中js請求鏈接和css請求鏈接修改為客戶端本地的請求;

在所述靜態(tài)頁面html模板中配置所述服務(wù)器的url地址,得到所述目標(biāo)頁面的半靜態(tài)化頁面html文件。

可選地,在所述獲取目標(biāo)頁面對應(yīng)的css文件和js文件之前,所述方法還包括:

接收所述客戶端發(fā)送的目標(biāo)頁面確定請求;

根據(jù)所述目標(biāo)頁面確定請求確定所述目標(biāo)頁面。

第二方面,本發(fā)明提供一種網(wǎng)頁訪問方法,應(yīng)用于客戶端中,所述方法包括:

獲取用戶訪問目標(biāo)頁面的訪問請求;

根據(jù)所述訪問請求獲取由所述服務(wù)器生成且預(yù)先下載到客戶端本地的模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的半靜態(tài)化頁面超文本標(biāo)記語言html文件、js文件和層疊樣式表單css文件,其中,所述半靜態(tài)化頁面html文件包含js請求鏈接、css請求鏈接及獲取動態(tài)數(shù)據(jù)的服務(wù)器統(tǒng)一資源定位符url地址;

根據(jù)所述js請求鏈接和所述css請求鏈接,從所述客戶端本地獲取所述目標(biāo)頁面對應(yīng)的js文件和css文件,生成所述目標(biāo)頁面對應(yīng)的靜態(tài)頁面;

當(dāng)需要更新所述靜態(tài)頁面內(nèi)的指定動態(tài)數(shù)據(jù)時,根據(jù)所述url地址從所述服務(wù)器中獲取最新的指定動態(tài)數(shù)據(jù)。

可選地,所述方法還包括:

獲取用戶選定的目標(biāo)頁面;

向所述服務(wù)器發(fā)送目標(biāo)頁面確定請求,以使所述服務(wù)器根據(jù)所述目標(biāo)頁面確定請求獲取所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包。

第三方面,本發(fā)明提供一種靜態(tài)頁面生成裝置,應(yīng)用于服務(wù)器中,所述裝置包括:

第一獲取模塊,用于獲取目標(biāo)頁面對應(yīng)的層疊樣式表單css文件和js文件;

第二獲取模塊,用于獲取所述目標(biāo)頁面的半靜態(tài)化頁面超文本標(biāo)記語言html文件,所述半靜態(tài)化頁面html文件中配置有所述目標(biāo)頁面獲取動態(tài)數(shù)據(jù)所需的服務(wù)器統(tǒng)一資源定位符url地址;

第三獲取模塊,用于獲取模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的所述css文件、所述js文件及所述半靜態(tài)化頁面html文件;

發(fā)送模塊,用于將所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包發(fā)送給所述客戶端,以使所述客戶端將所述模板靜態(tài)化文件包存儲在客戶端本地,并根據(jù)所述模板靜態(tài)化文件包生成所述 目標(biāo)頁面對應(yīng)的靜態(tài)頁面。

可選地,所述第二獲取模塊,包括:

第一獲取子模塊,用于獲取符合freemarker模板引擎標(biāo)準(zhǔn)的靜態(tài)頁面html模板;

修改子模塊,用于將所述靜態(tài)頁面html模板中js請求鏈接和css請求鏈接修改為客戶端本地的請求;

url地址配置子模塊,用于在所述靜態(tài)頁面html模板中配置所述服務(wù)器的url地址,得到所述目標(biāo)頁面的半靜態(tài)化頁面html文件。

可選地,所述裝置還包括:

接收模塊,用于接收所述客戶端確定目標(biāo)頁面的目標(biāo)頁面確定請求;

確定模塊,用于根據(jù)所述目標(biāo)頁面確定請求確定所述目標(biāo)頁面。

第四方面,本發(fā)明提供一種網(wǎng)頁訪問裝置,應(yīng)用于客戶端中,所述裝置包括:

第一獲取模塊,用于獲取用戶訪問目標(biāo)頁面的訪問請求;

第二獲取模塊,用于根據(jù)所述訪問請求獲取由所述服務(wù)器生成且預(yù)先下載到客戶端本地的模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的半靜態(tài)化頁面超文本標(biāo)記語言html文件、js文件和層疊樣式表單css文件,其中,所述半靜態(tài)化頁面html文件包含js請求鏈接、css請求鏈接及獲取動態(tài)數(shù)據(jù)的服務(wù)器統(tǒng)一資源定位符url地址;

靜態(tài)頁面生成模塊,用于根據(jù)所述js請求鏈接和所述css請求鏈接,從所述客戶端本地獲取所述目標(biāo)頁面對應(yīng)的js文件和css文件,生成所述目標(biāo)頁面對應(yīng)的靜態(tài)頁面;

第三獲取模塊,用于當(dāng)需要更新所述靜態(tài)頁面內(nèi)的指定動態(tài)數(shù)據(jù)時,根據(jù)所述url地址從所述服務(wù)器中獲取最新的指定動態(tài)數(shù)據(jù)。

可選地,所述裝置還包括:

第四獲取模塊,用于獲取用戶選定的目標(biāo)頁面;

發(fā)送模塊,用于向所述服務(wù)器發(fā)送目標(biāo)頁面確定請求,以使所述服務(wù)器根據(jù)所述目標(biāo)頁面確定請求獲取所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包。

由以上技術(shù)方案可見,本發(fā)明實施例提供的網(wǎng)頁訪問方法,由服務(wù)器預(yù)先生成動態(tài)的目標(biāo)網(wǎng)頁對應(yīng)的模板靜態(tài)化文件包,該模板靜態(tài)化文件包包括目標(biāo)網(wǎng)頁對應(yīng)的css(cascadingstylesheet,層疊樣式表單)文件、js(javascript)文件及半靜態(tài)化頁面html文件。并將模板靜態(tài)化文件包存儲到客戶端本地,當(dāng)用戶通過客戶端訪問目標(biāo)網(wǎng)頁時,從本地獲取目標(biāo)網(wǎng)頁的css文件及js文件,從而減少網(wǎng)絡(luò)帶寬需求,節(jié)省網(wǎng)絡(luò)流量;同時,當(dāng)目標(biāo)頁面中有數(shù)據(jù)交互時,可以通過半靜態(tài)化頁面html文件中配置的服務(wù)器地址,實時從服務(wù)器中獲取最新的數(shù)據(jù),從而保證數(shù)據(jù)的動態(tài)變化、可交互性。采用該網(wǎng) 頁訪問方法,既減少了網(wǎng)絡(luò)傳輸,縮短頁面響應(yīng)時間,提升頁面訪問速度,同時,還保證了頁面中的數(shù)據(jù)能夠?qū)崟r根據(jù)服務(wù)器端進(jìn)行更新。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例一種靜態(tài)頁面生成方法的流程示意圖;

圖2為本發(fā)明實施例一種獲取半靜態(tài)化頁面html文件步驟的流程示意圖;

圖3為本發(fā)明實施例另一種靜態(tài)頁面生成方法的流程示意圖;

圖4為本發(fā)明實施例一種網(wǎng)頁訪問方法的流程示意圖;

圖5為本發(fā)明實施例另一種網(wǎng)頁訪問方法的流程示意圖;

圖6為本發(fā)明實施例一種靜態(tài)頁面生成裝置的框圖;

圖7為本發(fā)明實施例一種第二獲取模塊的框圖;

圖8為本發(fā)明實施例另一種靜態(tài)頁面生成裝置的框圖;

圖9為本發(fā)明實施例一種網(wǎng)頁訪問裝置的框圖;

圖10為本發(fā)明實施例另一種網(wǎng)頁訪問裝置的框圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

參見圖1,為本發(fā)明實施例提供的一種靜態(tài)頁面生成方法的流程示意圖,該方法應(yīng)用于網(wǎng)頁服務(wù)器中,如圖1所示,該方法可以包括以下步驟:

s110,獲取目標(biāo)頁面對應(yīng)的css文件和js文件。

目標(biāo)頁面是指需要對網(wǎng)頁進(jìn)行模板靜態(tài)化的頁面,可以是用戶要訪問的網(wǎng)站中的某些動態(tài)頁面,或者,整個網(wǎng)站的全部動態(tài)頁面。

css文件是用于裝css代碼的文本文件,css是用于控制網(wǎng)頁樣式并允許將樣式信息與網(wǎng)頁內(nèi)容分離的一種標(biāo)記性語言。css文件用于定義頁面的樣式,例如,字體、顏色、背景色、間距、超鏈接等。

js文件是用javascript腳本語言編寫的文件,廣泛用戶客戶端web開發(fā)的腳本語言,用于定義網(wǎng)頁的動態(tài)效果,例如,點擊頁面上的某個按鈕會彈出窗口,或者有提示窗等。

服務(wù)器可以直接從該目標(biāo)頁面對應(yīng)的文件中查找到該目標(biāo)頁面的css文件和js文件。

s120,獲取所述目標(biāo)頁面的半靜態(tài)化頁面html文件;所述半靜態(tài)化頁面html文件中配置有所述服務(wù)器的url地址。

需要說明的是,s110和s120的執(zhí)行順序可以互換,即可以先執(zhí)行s120,再執(zhí)行s110,本申請對此并不限制。

參見圖2,為本發(fā)明實施例一種獲取半靜態(tài)化頁面html文件步驟的流程圖,如圖2所示,s120包括步驟s121~s123:

s121,獲取符合freemarker標(biāo)準(zhǔn)的靜態(tài)頁面html模板。

freemarker是一個模板引擎,一個基于模板生成文本輸出的通用工具,用來生成靜態(tài)html頁面的模板,即靜態(tài)頁面html模板。靜態(tài)頁面html模板的文件格式為*.ftl,該靜態(tài)頁面html模板定義了該目標(biāo)頁面樣式所需引用的css文件和js文件,以及頁面數(shù)據(jù)交互時要請求的服務(wù)器url地址,其中,動態(tài)頁面中數(shù)據(jù)交互部分是動態(tài)的,因此,服務(wù)器url地址以參數(shù)形式存在。

s122,將所述靜態(tài)頁面html模板中js請求鏈接和css請求鏈接修改為客戶端本地的請求。

將客戶端訪問動態(tài)頁面時除數(shù)據(jù)請求之外的請求鏈接改為請求客戶端本地資源而不是請求服務(wù)器;例如,js請求和css請求需要修改為客戶端本地請求,即將js請求鏈接中包含的服務(wù)器地址修改為客戶端本地的指定路徑,例如,“l(fā)ocal”;同理,可以將css請求鏈接中包含的服務(wù)器地址修改為“l(fā)ocal”。

s123,在所述靜態(tài)頁面html模板中配置所述目標(biāo)頁面中獲取動態(tài)數(shù)據(jù)的服務(wù)器url地址,得到所述目標(biāo)頁面的半靜態(tài)化頁面html文件。

動態(tài)頁面中數(shù)據(jù)交互部分是動態(tài)的,因此,服務(wù)器url地址以參數(shù)形式存在,當(dāng)需要獲取頁面中的數(shù)據(jù)時可以由js代碼動態(tài)調(diào)用該參數(shù),以便向服務(wù)器請求獲得相應(yīng)的數(shù)據(jù)。

s130,獲取模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的所述css文件、所述js文件及所述半靜態(tài)化頁面html文件。

生成目標(biāo)頁面對應(yīng)的半靜態(tài)化頁面html文件后,將獲得的目標(biāo)頁面對應(yīng)的css文件和js文件復(fù)制到與半靜態(tài)化頁面html文件同級的目錄中,得到模板靜態(tài)化文件包。

s140,將所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包發(fā)送給所述客戶端,以使所述客戶端將所述模板靜態(tài)化文件包存儲在客戶端本地,并根據(jù)所述模板靜態(tài)化文件包生成所述目標(biāo)頁面 對應(yīng)的靜態(tài)頁面。

服務(wù)器將生成的模板靜態(tài)化文件包發(fā)送給客戶端,例如,手機(jī)app(application,應(yīng)用程序),以使客戶端將模板靜態(tài)化文件包存儲到客戶端的指定路徑下,這樣,當(dāng)通過客戶端訪問目標(biāo)頁面時,就會訪問該模板靜態(tài)化文件,并根據(jù)模板靜態(tài)化文件中的css請求鏈接和js請求鏈接從客戶端本地獲取目標(biāo)頁面的css文件和js文件生成靜態(tài)頁面,從而減少了網(wǎng)絡(luò)傳輸?shù)南暮晚撁骓憫?yīng)時延,節(jié)省了網(wǎng)絡(luò)流量。

本實施例提供的靜態(tài)頁面生成方法,由服務(wù)器預(yù)先生成動態(tài)的目標(biāo)網(wǎng)頁對應(yīng)的模板靜態(tài)化文件包,該模板靜態(tài)化文件包包括目標(biāo)網(wǎng)頁對應(yīng)的css文件、js文件及半靜態(tài)化頁面html文件。并將模板靜態(tài)化文件包存儲到客戶端本地,當(dāng)用戶通過客戶端訪問目標(biāo)網(wǎng)頁時,就會訪問半靜態(tài)化頁面html文件,并從客戶端本地獲取目標(biāo)網(wǎng)頁的css文件及js文件生成靜態(tài)頁面,從而減少網(wǎng)絡(luò)帶寬需求,節(jié)省網(wǎng)絡(luò)流量。同時,當(dāng)目標(biāo)頁面中有數(shù)據(jù)交互時,可以通過半靜態(tài)化頁面html文件中配置的服務(wù)器地址,實時從服務(wù)器中獲取最新的數(shù)據(jù),從而保證數(shù)據(jù)的動態(tài)變化、可交互性。采用該網(wǎng)頁訪問方法,既減少了網(wǎng)絡(luò)傳輸,縮短頁面響應(yīng)時間,提升頁面訪問速度,同時,還保證了頁面中的數(shù)據(jù)能夠?qū)崟r根據(jù)服務(wù)器端進(jìn)行更新。

參見圖3,為本發(fā)明實施例另一種靜態(tài)頁面生成方法的流程圖,該方法在圖1所示實施例的s110之前還可以包括以下步驟:

s210,接收所述客戶端發(fā)送的目標(biāo)頁面確定請求;所述目標(biāo)頁面確定請求包括所要確定的目標(biāo)頁面的頁面名稱。

以“新浪網(wǎng)”的網(wǎng)頁為例進(jìn)行說明,用戶可以在客戶端選擇其中的某些頁面進(jìn)行半靜態(tài)化處理,例如,新浪首頁、新浪體育、新浪汽車、新浪財經(jīng),還可以選擇“新浪體育”頁面所包含的頁面,例如,“中國足球”、“nba”、“cba”等頁面。本實施例中,目標(biāo)頁面由用戶在客戶端中選擇確定,例如,在客戶端上設(shè)計有自助選擇界面,用戶或管理員可以從該自助選擇界面中選擇需要模板靜態(tài)化的動態(tài)頁面,此時,客戶端向服務(wù)器發(fā)送目標(biāo)頁面確定請求,以便服務(wù)器生成該目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包,提高了生成靜態(tài)頁面的靈活性,提高用戶體驗。

s220,根據(jù)所述目標(biāo)頁面確定請求確定所述目標(biāo)頁面。

確定目標(biāo)頁面后,獲取生成該目標(biāo)頁面對應(yīng)的靜態(tài)頁面所需要的文件,即css文件、js文,以及,半靜態(tài)化頁面html文件。

相應(yīng)于上述的應(yīng)用于服務(wù)器中的網(wǎng)頁訪問方法,本發(fā)明還提供了應(yīng)用于客戶端的網(wǎng)頁訪問方法實施例。

參見圖4,為本發(fā)明實施例又一種網(wǎng)頁訪問方法的流程圖,該方法應(yīng)用于客戶端中,如圖4所示,該方法可以包括以下步驟:

s310,獲取用戶訪問目標(biāo)頁面的訪問請求。

用戶通過客戶端(例如,手機(jī)app)訪問頁面時,會產(chǎn)生相應(yīng)的訪問請求。

s320,根據(jù)所述訪問請求訪問由所述服務(wù)器生成且預(yù)先下載到客戶端本地的半靜態(tài)化頁面html文件。

半靜態(tài)化頁面html文件和目標(biāo)頁面對應(yīng)的css文件、js文件組成模板靜態(tài)化文件包,該模板靜態(tài)化文件包由服務(wù)器生成并發(fā)送給客戶端,其中,所述半靜態(tài)化頁面html文件包含js請求鏈接、css請求鏈接及獲取動態(tài)數(shù)據(jù)的服務(wù)器url地址。

s330,根據(jù)所述js請求鏈接和所述css請求鏈接,從所述客戶端本地獲取所述目標(biāo)頁面對應(yīng)的js文件和css文件,生成目標(biāo)頁面對應(yīng)的靜態(tài)頁面。

客戶端根據(jù)半靜態(tài)化頁面html文件中的js請求鏈接從本地獲取對應(yīng)的js文件,以及,根據(jù)半靜態(tài)化頁面html文件中的css請求鏈接從本地獲取對應(yīng)的css文件。

s340,當(dāng)需要更新所述靜態(tài)頁面內(nèi)的指定動態(tài)數(shù)據(jù)時,根據(jù)所述url地址從所述服務(wù)器中獲取最新的指定動態(tài)數(shù)據(jù)。

當(dāng)需要更新目標(biāo)頁面內(nèi)的數(shù)據(jù)時,js代碼動態(tài)調(diào)用服務(wù)器的url地址,向服務(wù)器請求獲取最新的數(shù)據(jù),從而保證數(shù)據(jù)的可交互性。這樣,當(dāng)目標(biāo)頁面對應(yīng)的數(shù)據(jù)庫中的數(shù)據(jù)改變時,刷新頁面后數(shù)據(jù)也是最新的。

本實施例提供的網(wǎng)頁訪問方法,由服務(wù)器預(yù)先生成動態(tài)的目標(biāo)網(wǎng)頁對應(yīng)的模板靜態(tài)化文件包,該模板靜態(tài)化文件包包括目標(biāo)網(wǎng)頁對應(yīng)的css文件、js文件及半靜態(tài)化頁面html文件。并將模板靜態(tài)化文件包存儲到客戶端本地,當(dāng)用戶通過客戶端訪問目標(biāo)網(wǎng)頁時,就會訪問半靜態(tài)化頁面html文件,并從客戶端本地獲取目標(biāo)網(wǎng)頁的css文件及js文件來生成目標(biāo)頁面對應(yīng)的靜態(tài)頁面,從而減少網(wǎng)絡(luò)帶寬需求,節(jié)省網(wǎng)絡(luò)流量。同時,當(dāng)靜態(tài)頁面中有數(shù)據(jù)交互時,可以通過半靜態(tài)化頁面html文件中配置的服務(wù)器地址,實時從服務(wù)器中獲取最新的數(shù)據(jù),從而保證數(shù)據(jù)的動態(tài)變化、可交互性。采用該網(wǎng)頁訪問方法,既減少了網(wǎng)絡(luò)傳輸,縮短頁面響應(yīng)時間,提升頁面訪問速度,同時,還保證了頁面中的數(shù)據(jù)能夠?qū)崟r根據(jù)服務(wù)器端進(jìn)行更新。

參見圖5,為本發(fā)明實施例另一種網(wǎng)頁訪問方法的流程圖,該方法在圖4所示實施例的基礎(chǔ)上還可以包括以下步驟:

s410,獲取用戶選定的目標(biāo)頁面。

本實施例中,目標(biāo)頁面由用戶在客戶端中選擇確定,例如,在客戶端上設(shè)計有自助選擇 界面,用戶或管理員可以從該自助選擇界面中選擇需要模板靜態(tài)化的動態(tài)頁面。

s420,向所述服務(wù)器發(fā)送目標(biāo)頁面確定請求,所述目標(biāo)頁面確定請求包括所確定的目標(biāo)頁面的頁面名稱,以使所述服務(wù)器根據(jù)所述目標(biāo)頁面確定請求獲取所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包。

客戶端獲得用戶選定的目標(biāo)頁面后,向服務(wù)器發(fā)送目標(biāo)頁面確定請求,該請求中至少包括所確定的目標(biāo)頁面的頁面名稱,以便使服務(wù)器生成該目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包。當(dāng)用戶點擊自助選擇界面上的下載項,即可從服務(wù)器中獲得該目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包。

本實施例提供的網(wǎng)頁訪問方法,由用戶選擇目標(biāo)頁面,然后,由服務(wù)器將用戶選擇的目標(biāo)頁面轉(zhuǎn)換成靜態(tài)頁面,從而,提高了生成靜態(tài)頁面的靈活性,以及提高了用戶體驗。

通過以上的方法實施例的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:只讀存儲器(rom)、隨機(jī)存取存儲器(ram)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

與本發(fā)明提供的方法實施例相對應(yīng),本發(fā)明還提供了裝置實施例。

參見圖6,為本發(fā)明實施例一種靜態(tài)頁面生成裝置,該裝置應(yīng)用于服務(wù)器中,如圖6所示,所述裝置包括:第一獲取模塊110、第二獲取模塊120、第三獲取模塊130和發(fā)送模塊140。

第一獲取模塊110,用于獲取目標(biāo)頁面對應(yīng)的css文件和js文件。

css文件是用于裝css代碼的文本文件,css是用于控制網(wǎng)頁樣式并允許將樣式信息與網(wǎng)頁內(nèi)容分離的一種標(biāo)記性語言。css文件用于定義頁面的樣式,例如,字體、顏色、背景色、間距、超鏈接等。

js文件是用javascript腳本語言編寫的文件,廣泛用戶客戶端web開發(fā)的腳本語言,用于定義網(wǎng)頁的動態(tài)效果,例如,點擊頁面上的某個按鈕會彈出窗口,或者有提示窗等。

服務(wù)器可以直接從該目標(biāo)頁面對應(yīng)的文件中查找到該目標(biāo)頁面的css文件和js文件。

第二獲取模塊120,用于獲取所述目標(biāo)頁面的半靜態(tài)化頁面html文件;所述半靜態(tài)化頁面html文件中配置有所述目標(biāo)頁面獲取動態(tài)數(shù)據(jù)所需的服務(wù)器統(tǒng)一資源定位符url地址。

參見圖7,為本發(fā)明實施例一種第二獲取模塊的框圖,如圖7所示,第二獲取模塊包括:第一獲取子模塊121、修改子模塊122和url地址配置子模塊123。

第一獲取子模塊121,用于獲取符合freemarker模板引擎標(biāo)準(zhǔn)的靜態(tài)頁面html模板。

freemarker是一個模板引擎,一個基于模板生成文本輸出的通用工具用來生成靜態(tài)html頁面的模板,即靜態(tài)頁面html模板。靜態(tài)頁面html模板的文件格式為*.ftl,該靜態(tài)頁面html模板定義了該目標(biāo)頁面樣式所需引用的css文件和js文件,以及頁面數(shù)據(jù)交互時要請求的服務(wù)器url地址,其中,動態(tài)頁面中數(shù)據(jù)交互部分是動態(tài)的,因此,服務(wù)器url地址以參數(shù)形式存在。

修改子模塊122,用于將所述靜態(tài)頁面html模板中js請求鏈接和css請求鏈接修改為客戶端本地的請求。

將客戶端訪問動態(tài)頁面時除數(shù)據(jù)請求之外的請求鏈接改為請求客戶端本地資源而不是請求服務(wù)器;例如,js請求和css請求需要修改為客戶端本地請求,即將js請求鏈接中包含的服務(wù)器地址修改為客戶端本地的指定路徑,例如,“l(fā)ocal”;同理,可以將css請求鏈接中包含的服務(wù)器地址修改為“l(fā)ocal”。

url地址配置子模塊123,用于在所述靜態(tài)頁面html模板中配置所述服務(wù)器的url地址,得到所述目標(biāo)頁面的半靜態(tài)化頁面html文件。

動態(tài)頁面中數(shù)據(jù)交互部分是動態(tài)的,因此,服務(wù)器url地址以參數(shù)形式存在,當(dāng)需要獲取頁面中的數(shù)據(jù)時可以由js代碼動態(tài)調(diào)用該參數(shù),以便向服務(wù)器請求獲得相應(yīng)的數(shù)據(jù)。

第三獲取模塊130,用于獲取模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的所述css文件、所述js文件及所述半靜態(tài)化頁面html文件。

發(fā)送模塊140,用于將所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包發(fā)送給所述客戶端,以使所述客戶端將所述模板靜態(tài)化文件包存儲在客戶端本地,并根據(jù)所述模板靜態(tài)化文件包生成所述目標(biāo)頁面對應(yīng)的靜態(tài)頁面。

服務(wù)器將生成的模板靜態(tài)化文件包發(fā)送給客戶端,例如,手機(jī)app(application,應(yīng)用程序),以使客戶端將模板靜態(tài)化文件包存儲到客戶端的指定路徑下,這樣,當(dāng)通過客戶端訪問目標(biāo)頁面時,就會訪問該模板靜態(tài)化文件,并根據(jù)模板靜態(tài)化文件中的css請求鏈接和js請求鏈接從客戶端本地獲取目標(biāo)頁面的css文件和js文件,從而減少了網(wǎng)絡(luò)傳輸?shù)南暮晚撁骓憫?yīng)時延,節(jié)省了網(wǎng)絡(luò)流量。

本實施例提供的靜態(tài)頁面生成裝置,由服務(wù)器預(yù)先生成動態(tài)的目標(biāo)網(wǎng)頁對應(yīng)的模板靜態(tài)化文件包,該模板靜態(tài)化文件包包括目標(biāo)網(wǎng)頁對應(yīng)的css文件、js文件及半靜態(tài)化頁面html文件。并將模板靜態(tài)化文件包存儲到客戶端本地,當(dāng)用戶通過客戶端訪問目標(biāo)網(wǎng) 頁時,就會訪問半靜態(tài)化頁面html文件,并從客戶端本地獲取目標(biāo)網(wǎng)頁的css文件及js文件生成靜態(tài)頁面,從而減少網(wǎng)絡(luò)帶寬需求,節(jié)省網(wǎng)絡(luò)流量。同時,當(dāng)目標(biāo)頁面中有數(shù)據(jù)交互時,可以通過半靜態(tài)化頁面html文件中配置的服務(wù)器地址,實時從服務(wù)器中獲取最新的數(shù)據(jù),從而保證數(shù)據(jù)的動態(tài)變化、可交互性。采用該網(wǎng)頁訪問方法,既減少了網(wǎng)絡(luò)傳輸,縮短頁面響應(yīng)時間,提升頁面訪問速度,同時,還保證了頁面中的數(shù)據(jù)能夠?qū)崟r根據(jù)服務(wù)器端進(jìn)行更新。

參見圖8,為本發(fā)明實施例另一種靜態(tài)頁面生成裝置的框圖,該裝置在圖6所示實施例的基礎(chǔ)上還包括:接收模塊210和確定模塊220。

接收模塊210,用于接收所述客戶端確定目標(biāo)頁面的目標(biāo)頁面確定請求。

以“新浪網(wǎng)”的網(wǎng)頁為例進(jìn)行說明,用戶可以在客戶端選擇其中的某些頁面進(jìn)行半靜態(tài)化處理,例如,新浪首頁、新浪體育、新浪汽車、新浪財經(jīng),還可以選擇“新浪體育”頁面所包含的頁面,例如,“中國足球”、“nba”、“cba”等頁面。

確定模塊220,用于根據(jù)所述目標(biāo)頁面確定請求確定所述目標(biāo)頁面。

本實施例中,目標(biāo)頁面由用戶在客戶端中選擇確定,例如,在客戶端上設(shè)計有自助選擇界面,用戶或管理員可以從該自助選擇界面中選擇需要模板靜態(tài)化的動態(tài)頁面,此時,客戶端向服務(wù)器發(fā)送目標(biāo)頁面確定請求,以便服務(wù)器生成該目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包,提高了生成靜態(tài)頁面的靈活性,提高用戶體驗。

參見圖9,為本發(fā)明實施例一種網(wǎng)頁訪問裝置的框圖,該裝置應(yīng)用于客戶端中,如圖9所示,所述裝置包括:第一獲取模塊310、生成模塊320、第二獲取模塊330和第三獲取模塊340。

第一獲取模塊310,用于獲取用戶訪問目標(biāo)頁面的訪問請求。

用戶通過客戶端(例如,手機(jī)app)訪問頁面時,會產(chǎn)生相應(yīng)的訪問請求。

第二獲取模塊320,用于根據(jù)所述訪問請求獲取由所述服務(wù)器生成且預(yù)先下載到客戶端本地的模板靜態(tài)化文件包,所述模板靜態(tài)化文件包包括所述目標(biāo)頁面對應(yīng)的半靜態(tài)化頁面html文件、js文件和層疊樣式表單css文件,其中,所述半靜態(tài)化頁面html文件包含js請求鏈接、css請求鏈接及獲取動態(tài)數(shù)據(jù)的服務(wù)器url地址。

靜態(tài)頁面生成模塊330,用于根據(jù)所述js請求鏈接和所述css請求鏈接,從所述客戶端本地獲取所述目標(biāo)頁面對應(yīng)的js文件和css文件,生成所述目標(biāo)頁面對應(yīng)的靜態(tài)頁面。

第三獲取模塊340,用于當(dāng)需要更新所述靜態(tài)頁面內(nèi)的指定動態(tài)數(shù)據(jù)時,根據(jù)所述url地址從所述服務(wù)器中獲取最新的指定動態(tài)數(shù)據(jù)。

本實施例提供的網(wǎng)頁訪問裝置,由服務(wù)器預(yù)先生成動態(tài)的目標(biāo)網(wǎng)頁對應(yīng)的模板靜態(tài)化 文件包,該模板靜態(tài)化文件包包括目標(biāo)網(wǎng)頁對應(yīng)的css文件、js文件及半靜態(tài)化頁面html文件。并將模板靜態(tài)化文件包存儲到客戶端本地,當(dāng)用戶通過客戶端訪問目標(biāo)網(wǎng)頁時,就會訪問半靜態(tài)化頁面html文件,并從客戶端本地獲取目標(biāo)網(wǎng)頁的css文件及js文件,從而減少網(wǎng)絡(luò)帶寬需求,節(jié)省網(wǎng)絡(luò)流量。同時,當(dāng)目標(biāo)頁面中有數(shù)據(jù)交互時,可以通過半靜態(tài)化頁面html文件中配置的服務(wù)器地址,實時從服務(wù)器中獲取最新的數(shù)據(jù),從而保證數(shù)據(jù)的動態(tài)變化、可交互性。采用該網(wǎng)頁訪問裝置,既減少了網(wǎng)絡(luò)傳輸,縮短頁面響應(yīng)時間,提升頁面訪問速度,同時,還保證了頁面中的數(shù)據(jù)能夠?qū)崟r根據(jù)服務(wù)器端進(jìn)行更新。

參見圖10,為本發(fā)明實施例另一種網(wǎng)頁訪問裝置的框圖,該裝置在圖9所示實施例的基礎(chǔ)上還包括:第四獲取模塊410和發(fā)送模塊420。

第四獲取模塊410,用于獲取用戶選定的目標(biāo)頁面。

本實施例中,目標(biāo)頁面由用戶在客戶端中選擇確定,例如,在客戶端上設(shè)計有自助選擇界面,用戶或管理員可以從該自助選擇界面中選擇需要模板靜態(tài)化的動態(tài)頁面。

發(fā)送模塊420,用于向所述服務(wù)器發(fā)送目標(biāo)頁面確定請求,所述目標(biāo)頁面確定請求包括所要確定的目標(biāo)頁面的頁面名稱,以使所述服務(wù)器根據(jù)所述目標(biāo)頁面確定請求獲取所述目標(biāo)頁面對應(yīng)的模板靜態(tài)化文件包。

本實施例提供的網(wǎng)頁訪問裝置,由用戶選擇目標(biāo)頁面,然后,由服務(wù)器將用戶選擇的目標(biāo)頁面轉(zhuǎn)換成靜態(tài)頁面,從而,提高了生成靜態(tài)頁面的靈活性,以及提高了用戶體驗。

本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

本發(fā)明可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序 模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。

需要說明的是,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上所述僅是本發(fā)明的具體實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1