摘 要:HTML5是一代具有創(chuàng)新性、革命性的新型互聯(lián)網(wǎng)編程語(yǔ)言,是當(dāng)前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語(yǔ)言形式,同時(shí)也是形成網(wǎng)頁(yè)文檔的主要語(yǔ)言之一。近幾年來(lái),在互聯(lián)網(wǎng)行業(yè)與領(lǐng)域得到了廣泛的普及與發(fā)展。HTML的傳統(tǒng)舊版本已經(jīng)在十余年前形成并使用,然而面對(duì)現(xiàn)代Web的應(yīng)用需求卻存在不足。在基于現(xiàn)代Web現(xiàn)代需求的基礎(chǔ)上,HTML5應(yīng)運(yùn)而生。文章主要針對(duì)HTML5本地存儲(chǔ)與離線(xiàn)緩存應(yīng)用進(jìn)行探析。
關(guān)鍵詞:HTML5;本地存儲(chǔ);離線(xiàn)緩存
1 HTML5特性
HTML5是互聯(lián)網(wǎng)的新一代標(biāo)準(zhǔn),同時(shí)也是構(gòu)建與表現(xiàn)互聯(lián)網(wǎng)內(nèi)容的一種語(yǔ)言方式,其被認(rèn)為是互聯(lián)網(wǎng)的重要核心技術(shù)之一[1]。HTML自從1990年開(kāi)始已經(jīng)經(jīng)過(guò)了二十余年的發(fā)展。1997年HTML4已成為了互聯(lián)網(wǎng)的標(biāo)準(zhǔn),并且普及應(yīng)用到互聯(lián)網(wǎng)的開(kāi)發(fā)過(guò)程中,而HTML5是HTML的第五個(gè)版本,同時(shí)也是最新的版本。HTML5的廣義概念為包括HTML、CSS以及JavaScript 的技術(shù)結(jié)合,其作用在于減少瀏覽器對(duì)于需要插件的豐富性網(wǎng)絡(luò)應(yīng)用服務(wù),比如Adobe Flash、Microsoft Silverlight 與 Oracle JavaFX的需求,同時(shí)還可以給予更多的能夠強(qiáng)化網(wǎng)絡(luò)應(yīng)用的標(biāo)準(zhǔn)集[2]??傮w來(lái)說(shuō),HTML5增加了多樣的語(yǔ)法特征,其中包括
2 HTML5本地存儲(chǔ)與離線(xiàn)緩存的應(yīng)用
2.1 HTML5本地存儲(chǔ)應(yīng)用
HTML5進(jìn)行本地存儲(chǔ)一共有以下規(guī)范標(biāo)準(zhǔn),分別為Web Storage、Web SQL Database以及 IndexedDB。(1)Web Storage 存儲(chǔ)。其為在cookie之外提供另外一種能夠存儲(chǔ)用戶(hù)會(huì)話(huà)數(shù)據(jù)的方式,并且實(shí)現(xiàn)了存儲(chǔ)量更大同時(shí)還能跨越訪(fǎng)問(wèn)的形式。在Web Storage中不單單給予開(kāi)發(fā)人員更加便捷實(shí)用的接口,使得數(shù)據(jù)操作更加便捷,而且還提供了獨(dú)立的存儲(chǔ)空間,使得數(shù)據(jù)的存放變得更加有條理[3]。Web Storage包括session torage和 localStorage。其兩者均為以“鍵值對(duì)”的形式來(lái)將數(shù)據(jù)進(jìn)行存儲(chǔ)。開(kāi)發(fā)人員能夠使用相關(guān)代碼對(duì)其中的“鍵值對(duì)”進(jìn)行設(shè)計(jì),并且在下次加載頁(yè)面時(shí)利用相關(guān)代碼將其讀取出來(lái)。(2)Web SQL Database的應(yīng)用能夠彌補(bǔ)Web Storage無(wú)法完善存儲(chǔ)大數(shù)據(jù)問(wèn)題的缺陷。Web SQL Database的核心方法分別為openDatabase、transaction 和executeSql,分別可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的新建、打開(kāi)、出來(lái)以及記錄的相關(guān)處理。(3)IndexedDB。開(kāi)發(fā)人員可以在域中建立多個(gè) IndexedDB數(shù)據(jù)庫(kù)實(shí)例,并且在每一個(gè)數(shù)據(jù)庫(kù)實(shí)例中又可以存儲(chǔ)多個(gè)對(duì)象。IndexedDB的API接口可以分為同步與異步版本,通常情況下均使用異步版本API[4]。
2.2 HTML5離線(xiàn)緩存應(yīng)用
對(duì)于網(wǎng)頁(yè)的應(yīng)用來(lái)說(shuō)離線(xiàn)功能的使用越來(lái)越重要。雖然部分瀏覽器客戶(hù)端擁有緩存機(jī)制,但是該緩存機(jī)制的安全性與可靠性有待提升。在HTML5中的應(yīng)用緩存能夠有效改善離線(xiàn)所帶來(lái)的問(wèn)題,使用離線(xiàn)緩存接口,讓網(wǎng)頁(yè)應(yīng)用能夠?qū)崿F(xiàn)支持離線(xiàn)瀏覽的功能。應(yīng)用緩存可以讓開(kāi)發(fā)人員制定任意瀏覽器要緩存的文件資源以及能夠供用戶(hù)離線(xiàn)時(shí)訪(fǎng)問(wèn)。其與瀏覽器自身所具備的緩存機(jī)制不同,即便用戶(hù)在離線(xiàn)的狀態(tài)下進(jìn)行刷新頁(yè)面這一操作,應(yīng)用緩存依然可以換正常的加載緩存與正常運(yùn)行[5]。應(yīng)用緩存中最重要的部分即為緩存資源清單文件——manifest。該文件是簡(jiǎn)易的文本文件,其中羅列了需要緩存的資源,瀏覽器能夠根據(jù)這些清單將資源自動(dòng)緩存在本地。該文件中一般包括Cache、Network、Fallback三個(gè)部分,這三個(gè)部分在manifest中的順序可以任意排列,并且三個(gè)部分均可以多次出現(xiàn)。
3 結(jié)束語(yǔ)
從當(dāng)前的發(fā)展形勢(shì)來(lái)看HTML5將會(huì)成為未來(lái)Web開(kāi)發(fā)的主流平臺(tái),其將會(huì)變得更加成熟更加豐富,帶來(lái)更加多元化的網(wǎng)絡(luò)應(yīng)用。
參考文獻(xiàn)
[1]張玉亮,杜克明,孫忠富.本地存儲(chǔ)技術(shù)在農(nóng)業(yè)遠(yuǎn)程監(jiān)控系統(tǒng)中的集成應(yīng)用[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2010(4):13-16.
[2]許中博,董彬.利用HTML5的本地存儲(chǔ)實(shí)現(xiàn)圖書(shū)館網(wǎng)站的個(gè)性化[J].科技資訊,2013(11):253.
[3]胡晶.基于HTML5離線(xiàn)存儲(chǔ)的產(chǎn)品演示系統(tǒng)的開(kāi)發(fā)[J].洛陽(yáng)師范學(xué)院學(xué)報(bào),2014(11):60-62+66.
[4]鄭艷.Research and Application of HTML5Local Storage and Offline Caching Mechanisms[D].武漢理工大學(xué),2014.
作者簡(jiǎn)介:董衛(wèi)利(1983-),女,河南鄭州人,本科,解放軍信息工程大學(xué),研究方向:軟件工程。