本發(fā)明涉及通信領(lǐng)域中的網(wǎng)絡(luò)資源管理技術(shù),尤其涉及一種信息推送方法及緩存服務(wù)器。
背景技術(shù):
目前,超文本傳輸協(xié)議(http,hypertexttransferprotocol)是一種為分布式、協(xié)作式的超媒體信息系統(tǒng)。針對客戶端對網(wǎng)頁(web)的訪問可以基于緩存服務(wù)器中緩存的資源進行響應(yīng),所有的能夠緩存的資源類型都是基于在http協(xié)議頭中定義的規(guī)則來決定。
但是,上述方案中,緩存服務(wù)器無法對web服務(wù)器主動推送資源流量進行本地優(yōu)化,由于網(wǎng)絡(luò)部署的緩存服務(wù)器只能響應(yīng)客戶端請求來觸發(fā)本地緩存內(nèi)容檢查與返回,因此,對于采用serverpush機制推送的網(wǎng)頁資源來說,因為不存在對應(yīng)的客戶端顯式請求,即使已經(jīng)為另一個用戶緩存有對應(yīng)的資源內(nèi)容,針對當(dāng)前用戶的訪問頁面中同樣嵌入的資源cache代理也無法實現(xiàn)相關(guān)流量的本地優(yōu)化。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種信息推送方法及緩存服務(wù)器,能至少解決現(xiàn)有技術(shù)中存在的上述問題。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供了一種信息推送方法,應(yīng)用于緩存服務(wù)器,所述方法包括:
接收到終端設(shè)備發(fā)來的網(wǎng)頁訪問請求,所述網(wǎng)頁訪問請求中至少包括有資源定位標識信息;
基于所述網(wǎng)頁訪問請求中的資源定位標識信息,查找緩存中是否保存有對應(yīng)的目標資源;
若所述緩存中未保存有對應(yīng)的目標資源,則基于所述網(wǎng)頁訪問請求從網(wǎng)頁服務(wù)器側(cè)獲取到目標資源,以及所述網(wǎng)頁服務(wù)器推送來的推送內(nèi)容;
基于所述目標資源以及所述推送內(nèi)容,對所述終端設(shè)備進行響應(yīng)。
本發(fā)明實施例提供了一種緩存服務(wù)器,包括:
接收單元,用于接收到終端設(shè)備發(fā)來的網(wǎng)頁訪問請求,所述網(wǎng)頁訪問請求中至少包括有資源定位標識信息;
查找單元,用于基于所述網(wǎng)頁訪問請求中的資源定位標識信息,查找緩存中是否保存有對應(yīng)的目標資源;
請求單元,用于若所述緩存中未保存有對應(yīng)的目標資源,則基于所述網(wǎng)頁訪問請求從網(wǎng)頁服務(wù)器側(cè)獲取到目標資源,以及所述網(wǎng)頁服務(wù)器推送來的推送內(nèi)容;
響應(yīng)單元,用于基于所述目標資源以及所述推送內(nèi)容,對所述終端設(shè)備進行響應(yīng)。
本發(fā)明實施例提供了信息推送方法及緩存服務(wù)器,基于終端設(shè)備發(fā)來的網(wǎng)頁訪問請求查找緩存服務(wù)器中是否具備緩存的目標資源,以及對應(yīng)的推送內(nèi)容,若不具備則從服務(wù)器側(cè)獲取到對應(yīng)的目標資源以及推送內(nèi)容對所述網(wǎng)頁訪問請求進行響應(yīng)。如此,避免因為現(xiàn)有網(wǎng)頁緩存服務(wù)器單純從訪問請求觸發(fā)資源查找與返回,無法有效提高采用推送等增強功能的網(wǎng)頁站點訪問會話進行可靠的流量本地化的缺點,實現(xiàn)節(jié)約網(wǎng)絡(luò)運營成本的目的、以及能夠提升用戶的訪問網(wǎng)頁的體驗。
附圖說明
圖1為本發(fā)明實施例信息推送方法流程示意圖一;
圖2為本發(fā)明實施例信息推送場景示意圖一;
圖3為本發(fā)明實施例信息推送場景示意圖二;
圖4為本發(fā)明實施例信息推送方法流程示意圖二;
圖5為本發(fā)明實施例網(wǎng)頁訪問流程示意圖場景圖;
圖6為本發(fā)明實施例緩存服務(wù)器組成結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
實施例一、
本實施例提供了一種信息推送方法,應(yīng)用于服務(wù)器,如圖1所示,包括:
步驟101:接收到終端設(shè)備發(fā)來的網(wǎng)頁訪問請求,所述網(wǎng)頁訪問請求中至少包括有資源定位標識信息;
步驟102:基于所述網(wǎng)頁訪問請求中的資源定位標識信息,查找緩存中是否保存有對應(yīng)的目標資源;
步驟103:若所述緩存中未保存有對應(yīng)的目標資源,則基于所述網(wǎng)頁訪問請求從網(wǎng)頁服務(wù)器側(cè)獲取到目標資源,以及所述網(wǎng)頁服務(wù)器推送來的推送內(nèi)容;
步驟104:基于所述目標資源以及所述推送內(nèi)容,對所述終端設(shè)備進行響應(yīng)。
這里,本實施例所提供的緩存服務(wù)器,可以應(yīng)用于如圖2所示的架構(gòu),其中,終端設(shè)備可以通過緩存服務(wù)器經(jīng)由互聯(lián)網(wǎng)(internet)向網(wǎng)頁服務(wù)器發(fā)出網(wǎng)頁訪問請求,進而基于網(wǎng)頁服務(wù)器通過互聯(lián)網(wǎng)以及緩存服務(wù)器向終端設(shè)備返回響應(yīng)。
其中,所述網(wǎng)頁訪問請求中的資源定位標識信息可以為統(tǒng)一資源定位器(url,uniformresourcelocator)。
優(yōu)選地,本實施例提供的方法還包括:若所述緩存中保存有對應(yīng)的目標資源,則基于所述目標資源對所述終端設(shè)備的所述網(wǎng)頁訪問請求進行響應(yīng)。
可以參見圖3,當(dāng)緩存服務(wù)器緩存的資源中包括有與所述網(wǎng)頁訪問請求所要求的資源相同的資源時,就直接從緩存服務(wù)器中獲取到目標資源向終端設(shè)備進行響應(yīng)。
在上述方案的基礎(chǔ)上,所述基于所述目標資源對所述終端設(shè)備的所述網(wǎng)頁訪問請求進行響應(yīng),還包括:
查找在所述緩存中是否保存有與所述網(wǎng)頁訪問請求關(guān)聯(lián)的歷史關(guān)聯(lián)內(nèi)容;
若保存有所述歷史關(guān)聯(lián)內(nèi)容,則基于所述目標資源以及所述歷史關(guān)聯(lián)內(nèi)容,對所述終端設(shè)備的所述網(wǎng)頁訪問請求進行響應(yīng)。
其中,所述歷史關(guān)聯(lián)內(nèi)容可以為在歷史網(wǎng)頁請求過程中,緩存服務(wù)器接收到的由網(wǎng)頁服務(wù)器主動推送給終端設(shè)備的信息。
本實施例提供的場景中,不僅保存從網(wǎng)頁服務(wù)器獲取到的目標資源,還會將網(wǎng)頁服務(wù)器主動推送給終端設(shè)備的內(nèi)容信息作為歷史關(guān)聯(lián)內(nèi)容進行保存。如此,在終端設(shè)備再次發(fā)次網(wǎng)頁訪問請求時,不僅能夠直接從緩存服務(wù)器的緩存資源中獲取到目標資源進行響應(yīng),還能夠再獲取到關(guān)聯(lián)內(nèi)容直接發(fā)送給終端設(shè)備,從而進一步的優(yōu)化了網(wǎng)絡(luò)資源。
優(yōu)選地,在獲取到緩存服務(wù)器中的目標資源之后,還可以進一步的判斷緩存的目標資源的保存時長是否不超過門限值,也就是說,進一步的判斷保存的目標資源是否已經(jīng)過期,若已經(jīng)過期,則不使用該目標資源進行響應(yīng),具體的,所述緩存中保存有對應(yīng)的目標資源,包括:
判斷所述目標資源的保存時長是否達到門限值,若是,則基于所述網(wǎng)頁訪問請求從網(wǎng)頁服務(wù)器側(cè)獲取到目標資源,以及所述網(wǎng)頁服務(wù)器推送來的推送內(nèi)容。
進一步需要說明的是,所述緩存服務(wù)器還可以:周期性查看保存的資源的保存時長是否達到門限值,若是,則刪除所述資源。其中,所述門限值可以為根據(jù)實際情況預(yù)設(shè)的門限值,也可以為指定的門限值。
需要說明的是,每一種資源的保存時長對應(yīng)的門限值的獲取方式可以為以下之一:
統(tǒng)一設(shè)置;
也可以為不同的,具體根據(jù)資源的類型設(shè)置,比如,圖片資源門限值可以 較短;
在從服務(wù)器側(cè)接收到所述資源時,解析所述資源從中獲取到對應(yīng)的生存時間值,將獲取到的生存時間值作為所述門限值。
所述基于所述網(wǎng)頁訪問請求中的資源定位標識信息,查找緩存中是否保存有對應(yīng)的目標資源,包括:
基于所述網(wǎng)頁訪問請求中的資源定位標識信息,確定所述資源定位標識信息對應(yīng)的內(nèi)容元素;
判斷所述內(nèi)容元素是否為可緩存資源,若是,則查找緩存中是否保存有對應(yīng)的目標資源;否則,發(fā)送所述網(wǎng)頁訪問請求至網(wǎng)頁服務(wù)器,并將所述網(wǎng)頁服務(wù)器對所述網(wǎng)頁訪問請求的響應(yīng)發(fā)送至所述終端設(shè)備。
這里,所述內(nèi)容元素是否為可緩存資源可以為預(yù)設(shè)的,比如,可以預(yù)設(shè)某一個或者多種類型的內(nèi)容元素為可緩存資源。
可見,通過采用上述方案,就能夠基于終端設(shè)備發(fā)來的網(wǎng)頁訪問請求查找緩存服務(wù)器中是否具備緩存的目標資源,以及對應(yīng)的推送內(nèi)容,若不具備則從服務(wù)器側(cè)獲取到對應(yīng)的目標資源以及推送內(nèi)容對所述網(wǎng)頁訪問請求進行響應(yīng)。如此,避免因為現(xiàn)有webcache代理服務(wù)器單純從客戶端訪問url請求觸發(fā)資源查找與返回,無法有效提高采用push等增強功能的web站點訪問會話進行可靠的流量本地化的缺點。另外,還能夠優(yōu)化webcache能有效減少http/2.0服務(wù)端站點采用推送手段引發(fā)的大量跨域push流量,節(jié)約網(wǎng)絡(luò)運營成本opex。以及優(yōu)化webcache識別熱點頁面推送關(guān)系后主動發(fā)起本地push操作,有助于在服務(wù)端站點優(yōu)化基礎(chǔ)上進一步提升用戶體驗。
實施例二、
本提案的核心思想是,擴展web緩存實體功能,識別服務(wù)端推送的靜態(tài)網(wǎng)頁元素資源、與訪問url的對應(yīng)綁定關(guān)系,在針對該url訪問時,增加對應(yīng)元素資源的推送邏輯。從而避免因為現(xiàn)有webcache代理服務(wù)器單純從客戶端訪問url請求觸發(fā)資源查找與返回,無法有效提高采用push等增強 功能的web站點訪問會話進行可靠的流量本地化的缺點。
具體來說,本提案一方面擴展cache代理設(shè)備的資源緩存機制,增加緩存資源的push屬性與訪問url關(guān)聯(lián)關(guān)系記錄,一方面擴展cache代理設(shè)備的請求應(yīng)答機制,增加關(guān)聯(lián)push資源的識別與主動推送。
技術(shù)方案的描述可以結(jié)合圖4進行說明:
第一步、cache接收來自瀏覽器客戶端的http內(nèi)容訪問請求。
第二步、cache依據(jù)本地配置策略檢查該請求對應(yīng)內(nèi)容是否是可緩存資源。例如,html一般不可緩存,而圖片、文本的元素可緩存。cache系統(tǒng)管理員可以手動配置哪些頁面可以緩存,哪些頁面不可緩存。若對應(yīng)的內(nèi)容是可緩存資源,則繼續(xù)執(zhí)行第三步,否則,轉(zhuǎn)發(fā)請求給服務(wù)器,再轉(zhuǎn)發(fā)服務(wù)器的響應(yīng)給客戶端。
第三步、如果判定該請求內(nèi)容可緩存,則檢查本地緩存,例如,以請求中的url為標識進行查找,并采用緩存內(nèi)容的maxage字段驗證緩存內(nèi)容是否仍然新鮮可用。繼續(xù)執(zhí)行第四步。否則,從服務(wù)器請求對應(yīng)資源并將其置于緩存服務(wù)器上,并識別/記錄服務(wù)端的push內(nèi)容,然后向客戶端返回服務(wù)端返回/推送的請求響應(yīng)內(nèi)容,并退出。
第四步、如果本地緩存命中,則從緩存提取請求內(nèi)容,并檢查是否有關(guān)聯(lián)的push內(nèi)容記錄。是則進一步提取并推送緩存push關(guān)聯(lián)內(nèi)容給客戶端。否則直接向客戶端返回緩存的請求內(nèi)容。
超文本傳輸協(xié)議(http)是一種為分布式,協(xié)作式的,超媒體信息系統(tǒng)。它是一種通用的,無狀態(tài)(stateless)的協(xié)議,除了應(yīng)用于超文本傳輸外,它也可以應(yīng)用于諸如名稱服務(wù)器和分布對象管理系統(tǒng)之類的系統(tǒng),這可以通過擴展它的請求方法,錯誤代碼和消息頭來實現(xiàn)。
web緩存是指一個web資源(如html頁面,圖片,js,數(shù)據(jù)等)存在于web服務(wù)器和客戶端(瀏覽器)之間的副本。緩存會根據(jù)進來的請求保存輸出內(nèi)容的副本;當(dāng)下一個請求來到的時候,如果是相同的url,緩存會根據(jù)緩存機制決定是直接使用副本響應(yīng)訪問請求,還是向源服務(wù)器再次發(fā) 送請求。比較常見的就是瀏覽器會緩存訪問過網(wǎng)站的網(wǎng)頁,當(dāng)再次訪問這個url地址的時候,如果網(wǎng)頁沒有更新,就不會再次下載網(wǎng)頁,而是直接使用本地緩存的網(wǎng)頁。只有當(dāng)網(wǎng)站明確標識資源已經(jīng)更新,瀏覽器才會再次下載網(wǎng)頁。
在web應(yīng)用領(lǐng)域,web緩存大致可以分為以下幾種類型:
數(shù)據(jù)庫數(shù)據(jù)緩存:web應(yīng)用,特別是sns類型的應(yīng)用,往往關(guān)系比較復(fù)雜,數(shù)據(jù)庫表繁多,如果頻繁進行數(shù)據(jù)庫查詢,很容易導(dǎo)致數(shù)據(jù)庫不堪重荷。為了提供查詢的性能,會將查詢后的數(shù)據(jù)放到內(nèi)存中進行緩存,下次查詢時,直接從內(nèi)存緩存直接返回,提供響應(yīng)效率。
代理服務(wù)器緩存:代理服務(wù)器是瀏覽器和源服務(wù)器之間的中間服務(wù)器,瀏覽器先向這個中間服務(wù)器發(fā)起web請求,經(jīng)過處理后(比如權(quán)限驗證,緩存匹配等),再將請求轉(zhuǎn)發(fā)到源服務(wù)器。代理服務(wù)器緩存的運作原理跟瀏覽器的運作原理差不多,只是規(guī)模更大??梢园阉斫鉃橐粋€共享緩存,不只為一個用戶服務(wù),一般為大量用戶提供服務(wù),因此在減少相應(yīng)時間和帶寬使用方面很有效,同一個副本會被重用多次。
cdn緩存:cdn(contentdeliverynetworks)緩存,也叫網(wǎng)關(guān)緩存、反向代理緩存。cdn緩存一般是由網(wǎng)站管理員自己部署,為了讓他們的網(wǎng)站更容易擴展并獲得更好的性能。瀏覽器先向cdn網(wǎng)關(guān)發(fā)起web請求,網(wǎng)關(guān)服務(wù)器后面對應(yīng)著一臺或多臺負載均衡源服務(wù)器,會根據(jù)它們的負載請求,動態(tài)將請求轉(zhuǎn)發(fā)到合適的源服務(wù)器上。雖然這種架構(gòu)負載均衡源服務(wù)器之間的緩存沒法共享,但卻擁有更好的處擴展性。從瀏覽器角度來看,整個cdn就是一個源服務(wù)器。
瀏覽器端緩存:瀏覽器緩存根據(jù)一套與服務(wù)器約定的規(guī)則進行工作,在同一個會話過程中會檢查一次并確定緩存的副本足夠新。如果用戶在瀏覽過程中,比如前進或后退,訪問到同一個圖片,這些圖片可以從瀏覽器緩存中調(diào)出而即時顯現(xiàn)。
web應(yīng)用層緩存:應(yīng)用層緩存指的是從代碼層面上,通過代碼邏輯和緩 存策略,實現(xiàn)對數(shù)據(jù),頁面,圖片等資源的緩存,可以根據(jù)實際情況選擇將數(shù)據(jù)存在文件系統(tǒng)或者內(nèi)存中,減少數(shù)據(jù)庫查詢或者讀寫瓶頸,提高響應(yīng)效率。
其中,代理服務(wù)器緩存是本提案所關(guān)注的。
http/2.0的服務(wù)端主動推送serverpush:是一種新的網(wǎng)絡(luò)協(xié)議,以最小化網(wǎng)絡(luò)延遲,提升網(wǎng)絡(luò)速度,優(yōu)化用戶的網(wǎng)絡(luò)使用體驗。spdy并不是一種用于替代http的協(xié)議,而是對http協(xié)議的增強。新協(xié)議的功能包括數(shù)據(jù)流的多路復(fù)用、請求優(yōu)先級,以及http包頭壓縮。
spdy并不是用于替代http。該協(xié)議仍使用http的方法和包頭,只是對http中負責(zé)連接管理和數(shù)據(jù)傳輸格式的部分進行了重寫。通過引入獨立的傳輸封裝層,并對http請求/響應(yīng)封裝成一個獨立可標識的子流,實現(xiàn)了單tcp連接中的無限制的并發(fā)流。谷歌對全球25大網(wǎng)站的下載測試表明,引入spdy協(xié)議后,在實驗室測試中頁面加載速度比原先快64%。
http作為支撐web的基礎(chǔ)協(xié)議,已停滯13年沒有被更新。而為了完成對web的升級,以便能夠更好地適應(yīng)復(fù)雜的和高帶寬的應(yīng)用,ietf已于2012年開始對下一代http的開發(fā)工作。根據(jù)httpbis工作組主席marknottingham的說法,http/2.0以google的spdy協(xié)議為起點進行研究,需要關(guān)注包括協(xié)商機制、頭壓縮、服務(wù)器推送等關(guān)鍵技術(shù)。
如前所述,在現(xiàn)有技術(shù)中,客戶端主要通過如下兩個階段實現(xiàn)對web頁面的訪問:首先進行html文件下載,然后客戶端解析html文件,逐一發(fā)起頁面內(nèi)部元素資源的下載過程。如此,即使是最簡單的頁面下載也需要兩個交互來回才能完成,在端到端時延較大的環(huán)境中(比如,移動網(wǎng)絡(luò))對于用戶感知的頁面加載時延有較大的可提升空間。
為了降低高時延網(wǎng)絡(luò)訪問場景中的頁面加載時延,有些web服務(wù)端采用inline技術(shù),將頁面中的不同資源直接嵌入到html文件中,形成一個大包,通過第一次交互來回直接發(fā)送給客戶端。這種inline技術(shù)對于減少交互開銷很有效,但對于不同資源的嵌入,不利于充分利用瀏覽器緩存,實際上對于 被各個頁面引用的公共部分,需要對于每個頁面進行單獨嵌入再分別下載,增加了網(wǎng)站建設(shè)復(fù)雜度和網(wǎng)絡(luò)訪問流量,是不經(jīng)濟,也不被提倡的。
為此,spdy率先提出serverpush技術(shù),并被http/2.0規(guī)范接納。用于減少頁面下載交互時延同時解決inline技術(shù)引入的跨頁面cache利用效率問題。如圖5所示,serverpush本質(zhì)上是一種服務(wù)端直接推送技術(shù),當(dāng)服務(wù)端接收到瀏覽器/代理服務(wù)器發(fā)送的頁面訪問請求時,先于html文件,直接向請求方推送頁面中關(guān)鍵資源內(nèi)容,并利用http/2.0數(shù)據(jù)幀的幀頭數(shù)據(jù)標識字段指定該資源與對應(yīng)頁面html文件之間的關(guān)聯(lián)關(guān)系。瀏覽器客戶端接收到html文件時,相關(guān)頁面資源已經(jīng)被存入瀏覽器本地緩存中。這樣一旦瀏覽器解析到html文件中指定的頁面資源時,根據(jù)其url標識查找后會發(fā)現(xiàn)對應(yīng)資源已經(jīng)在緩存中,而直接從本地緩存提取并進行渲染呈現(xiàn)。如此,可以類似inline技術(shù),節(jié)省至少一個交互來回,從而提高用戶體驗。由于serverpush推送的資源仍然是以url為標識,單個資源形式獨立被瀏覽器接收并存儲在緩存中的,因此瀏覽器能夠識別對應(yīng)的推送資源是否已經(jīng)在本地緩存中存在,從而使用http/2.0的數(shù)據(jù)傳輸控制機制拒絕該資源的重復(fù)推送(例如,使用rst_stream拒絕建立對應(yīng)數(shù)據(jù)傳輸流)。
本實施例與上述最接近的現(xiàn)有技術(shù)相比,具有如下技術(shù)優(yōu)點:
其一、避免因為現(xiàn)有webcache代理服務(wù)器單純從客戶端訪問url請求觸發(fā)資源查找與返回,無法有效提高采用push等增強功能的web站點訪問會話進行可靠的流量本地化的缺點。
其二、優(yōu)化webcache能有效減少http/2.0服務(wù)端站點采用推送手段引發(fā)的大量跨域push流量,節(jié)約網(wǎng)絡(luò)運營成本opex。
其三、優(yōu)化webcache識別熱點頁面推送關(guān)系后主動發(fā)起本地push操作,有助于在服務(wù)端站點優(yōu)化基礎(chǔ)上進一步提升用戶體驗。
實施例三、
本實施例提供了一種緩存服務(wù)器,如圖6所示,包括:
接收單元61,用于接收到終端設(shè)備發(fā)來的網(wǎng)頁訪問請求,所述網(wǎng)頁訪問請求中至少包括有資源定位標識信息;
查找單元62,用于基于所述網(wǎng)頁訪問請求中的資源定位標識信息,查找緩存中是否保存有對應(yīng)的目標資源;
請求單元63,用于若所述緩存中未保存有對應(yīng)的目標資源,則基于所述網(wǎng)頁訪問請求從網(wǎng)頁服務(wù)器側(cè)獲取到目標資源,以及所述網(wǎng)頁服務(wù)器推送來的推送內(nèi)容;
響應(yīng)單元64,用于基于所述目標資源以及所述推送內(nèi)容,對所述終端設(shè)備進行響應(yīng)。
這里,本實施例所提供的緩存服務(wù)器,可以應(yīng)用于如圖2所示的架構(gòu),其中,終端設(shè)備可以通過緩存服務(wù)器經(jīng)由互聯(lián)網(wǎng)(internet)向網(wǎng)頁服務(wù)器發(fā)出網(wǎng)頁訪問請求,進而基于網(wǎng)頁服務(wù)器通過互聯(lián)網(wǎng)以及緩存服務(wù)器向終端設(shè)備返回響應(yīng)。
其中,所述網(wǎng)頁訪問請求中的資源定位標識信息可以為統(tǒng)一資源定位器(url,uniformresourcelocator)。
優(yōu)選地,所述響應(yīng)單元,用于若所述緩存中保存有對應(yīng)的目標資源,則基于所述目標資源對所述終端設(shè)備的所述網(wǎng)頁訪問請求進行響應(yīng)。
可以參見圖3,當(dāng)緩存服務(wù)器緩存的資源中包括有與所述網(wǎng)頁訪問請求所要求的資源相同的資源時,就直接從緩存服務(wù)器中獲取到目標資源向終端設(shè)備進行響應(yīng)。
在上述方案的基礎(chǔ)上,所述基于所述目標資源對所述終端設(shè)備的所述網(wǎng)頁訪問請求進行響應(yīng),所述查找單元,用于查找在所述緩存中是否保存有與所述網(wǎng)頁訪問請求關(guān)聯(lián)的歷史關(guān)聯(lián)內(nèi)容;若保存有所述歷史關(guān)聯(lián)內(nèi)容,則基于所述目標資源以及所述歷史關(guān)聯(lián)內(nèi)容,對所述終端設(shè)備的所述網(wǎng)頁訪問請求進行響應(yīng)。
其中,所述歷史關(guān)聯(lián)內(nèi)容可以為在歷史網(wǎng)頁請求過程中,緩存服務(wù)器接收到的由網(wǎng)頁服務(wù)器主動推送給終端設(shè)備的信息。
本實施例提供的場景中,不僅保存從網(wǎng)頁服務(wù)器獲取到的目標資源,還會將網(wǎng)頁服務(wù)器主動推送給終端設(shè)備的內(nèi)容信息作為歷史關(guān)聯(lián)內(nèi)容進行保存。如此,在終端設(shè)備再次發(fā)次網(wǎng)頁訪問請求時,不僅能夠直接從緩存服務(wù)器的緩存資源中獲取到目標資源進行響應(yīng),還能夠再獲取到關(guān)聯(lián)內(nèi)容直接發(fā)送給終端設(shè)備,從而進一步的優(yōu)化了網(wǎng)絡(luò)資源。
優(yōu)選地,在獲取到緩存服務(wù)器中的目標資源之后,還可以進一步的判斷緩存的目標資源的保存時長是否不超過門限值,也就是說,進一步的判斷保存的目標資源是否已經(jīng)過期,若已經(jīng)過期,則不使用該目標資源進行響應(yīng),具體的,所述緩存中保存有對應(yīng)的目標資源,包括:
所述查找單元,用于判斷所述目標資源的保存時長是否達到門限值,若是,則基于所述網(wǎng)頁訪問請求從網(wǎng)頁服務(wù)器側(cè)獲取到目標資源,以及所述網(wǎng)頁服務(wù)器推送來的推送內(nèi)容。
進一步需要說明的是,所述緩存服務(wù)器還可以:周期性查看保存的資源的保存時長是否達到門限值,若是,則刪除所述資源??梢岳斫獾氖?,每一中資源的保存時長可以為統(tǒng)一設(shè)置的,也可以為不同的,具體的根據(jù)資源的類型進行設(shè)置,比如,圖片資源可以保存時長較短。
所述查找單元,用于基于所述網(wǎng)頁訪問請求中的資源定位標識信息,確定所述資源定位標識信息對應(yīng)的內(nèi)容元素;判斷所述內(nèi)容元素是否為可緩存資源,若是,則查找緩存中是否保存有對應(yīng)的目標資源;否則,發(fā)送所述網(wǎng)頁訪問請求至網(wǎng)頁服務(wù)器,并將所述網(wǎng)頁服務(wù)器對所述網(wǎng)頁訪問請求的響應(yīng)發(fā)送至所述終端設(shè)備。
這里,所述內(nèi)容元素是否為可緩存資源可以為預(yù)設(shè)的,比如,可以預(yù)設(shè)某一個或者多種類型的內(nèi)容元素為可緩存資源。
可見,通過采用上述方案,就能夠基于終端設(shè)備發(fā)來的網(wǎng)頁訪問請求查找緩存服務(wù)器中是否具備緩存的目標資源,以及對應(yīng)的推送內(nèi)容,若不具備則從服務(wù)器側(cè)獲取到對應(yīng)的目標資源以及推送內(nèi)容對所述網(wǎng)頁訪問請求進行響應(yīng)。如此,避免因為現(xiàn)有webcache代理服務(wù)器單純從客戶端訪問url請求觸發(fā)資 源查找與返回,無法有效提高采用push等增強功能的web站點訪問會話進行可靠的流量本地化的缺點。另外,還能夠優(yōu)化webcache能有效減少http/2.0服務(wù)端站點采用推送手段引發(fā)的大量跨域push流量,節(jié)約網(wǎng)絡(luò)運營成本opex。以及優(yōu)化webcache識別熱點頁面推送關(guān)系后主動發(fā)起本地push操作,有助于在服務(wù)端站點優(yōu)化基礎(chǔ)上進一步提升用戶體驗。
本發(fā)明實施例所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、網(wǎng)絡(luò)設(shè)備、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。這樣,本發(fā)明實施例不限制于任何特定的硬件和軟件結(jié)合。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。