相關文章

O 對很多宅男宅女來說,可以沒有電視、沒有冰箱,但千萬不能沒有網路,如果哪天網路斷線,肯定有如世界末日。而且現在大家都習慣在網路上編輯Google Docs或更新Wordpress部落格,要是網路斷線,難道所有事情都得停擺?這時候,離線上網的技術就派上用場了。

離線上網也要標準化

「離線上網」聽起來好像有點矛盾,「離線編輯、瀏覽網頁」大家就比較容易理解了。沒有網路當然不能玩Internet,但你還是可以瀏覽離線、也就是暫存在電腦裡的內容,甚至把編輯完的文件先儲存在電腦上,連線時再上傳就好。這些離線處理技術其實很久以前就存在了,比如cookies、第三方插件式儲存(Plugin Based Storage)等等,但是cookies的安全性低、容量有限,裝外掛又麻煩,已經無法應付現在超級複雜的網頁存取需求,所以離線上網也才會需要標準化。

▲在網路不穩或頻寬有限的情況下,離線作業就顯得特別重要。

4大離線上網技術

用瀏覽器儲存網頁資料的最主要標準技術有4種,分別是應用程式快取(AppCache)、網路儲存(WebStorage)、以及提供資料庫離線儲存的Web SQL Databases和IndexedDB。

一、應用程式快取(AppCache)

網頁應用程式(WebApps)可以將檔案儲存在快取裡面,就算使用者離線了,還是可以存取資料,這些檔案可以是HTML、CSS、JavaScript等等的任何元件。 透過AppCache,瀏覽器可以指定哪些文件要在離線時顯示並預先下載,所以當你在離線時重新載入頁面,網頁會照樣出現,也可以視連線狀況來調整頁面的顯示方式,比如說CSS就可以有連線與離線兩種樣式。 AppCache可以加快網頁存取速度、減少伺服器負擔,Chrome、Firefox、Opera、Safari等等的瀏覽器都支援這個技術。

二、網路儲存(webstorage)

AppCache是讓使用者儲存文件的,W3C制定的webstorage則是讓程式人員來儲存資料。它有兩種儲存方式:頁面組儲存(sessionStorage)和本機儲存(localStorage),頁面組儲存在關閉瀏覽頁面後,資料就會不見,本機儲存則是會永久保留,除非你把它刪除。webstorage會按網址來儲存資料,域名完全相同的網頁會使用同一個儲存空間,辨別的精準度到埠口跟傳輸協定也有影響。比如http://www.example.org和http://abc.example.org就是分屬於兩個不同的域名空間,http://example.org與https://example.org以及http://example.org:80與http://example.org:8000也都不同。

▲WebStorage是使用 key-value 的形式來儲存資料的。

▲你可以自己去調整每個域名的上限。比方在opera輸入opera:webstorage,但前提是必須要拜訪過支援webstorage的網站,才會看到新增的項目。

▲大部分支援webstorage的瀏覽器,儲存容量都以5MB為上限。

三、Web SQL Database

Web SQL Database可以讓SQL資料庫在客戶端運作,不遇它還沒成為標準。一個技術要能夠成為標準,必須得到兩個以上的瀏覽器支援,Web SQL Database已經達成這個條件,但是它的資料庫語法是按照SQL Lite來部署,SQL Lite的語法很接近SQL,只是還存在少許偏差。所以W3C決定必須至少有另外一個SQL版本也可以同時運用Web SQL Database技術下,才可以正式建議此技術為標準。

▲Web SQL Database的語法和SQL相似。

四、indexedDB

IndexedDB目前只是一個草案,它可以算是webStorage和Web SQLDatabase的混合體,是以本機儲存(localStorage)的概念來運作,而且可以在儲存的某些數據區域裡標示目錄索引(index)。indexedDB最適合運用在線上遊戲,你可以告訴IndexedDB用遊戲的內容來建立目錄索引,目前只有Firefox 4支持這個標準。

以上這些技術可以互相搭配使用,Gmail行動版就是結合AppCache與webstorage的應用之一。

作者簡介:謝子斌 /Zi Bin, Cheah

zibin_potrait馬來西亞華人,網路標準專家。長期從事網際網路標準研究,經常來往於中國、印尼、馬來西亞、北歐等地宣導。現於挪威Opera軟體公司奧斯陸總部擔任網路標準講師(Web Evangelist)。(Twitter個人網站

使用 Facebook 留言

13ef58f9480fe4ab4bfdf7d5109da21e?size=48&default=wavatar
1.  Jacob (發表於 2010年10月07日 13:54)
可以做個表格
那些瀏覽器有支援那些不支援嗎....
Dce40e9e07c571b928907e63ba36edfb?size=48&default=wavatar
2.  喵 (發表於 2010年10月07日 22:39)
(以下資料來源Google 2010/09/07)
安裝: 系統需求
Share

* Gmail
* Blogger
* Buzz
* Orkut
* Google 閱讀器
* Bookmarks
* » 更多

列印

若要使用 Gears,您必須具備下列其中一項組合:

* Microsoft Windows XP 或 Vista,和 Firefox 1.5 (或更新版本) 或 Internet Explorer 6 (或更新版本)
* Apple Mac OS X 10.4 (或更新版本), 和 Firefox 1.5 (或更新版本)
* Apple Mac OS X 10.4.11 (或更新版本) 或 10.5.3 (或更新版本),和 Safari 3.1.1
* Linux 和 Firefox 1.5 (或更新版本)
* Microsoft Windows Mobile 5 (或更新版本),和 Internet Explorer 4.01 (或更新版本)

目前不支援的裝置包括:

* Samsung i320 和 i320N
* Orange SPV C600
E02689dc7083a92c185f64d673878b37?size=48&default=wavatar
4.  zibin (發表於 2010年10月08日 18:15)
Google已經打算不繼續支持gears了,而轉向支持W3C的標準離線技術。

發表回應

謹慎發言,尊重彼此。按此展開留言規則