CDN Host,是幫一些JavaScript Framework函式庫做異地Host服務,讓網路瀏覽者透過CDN(Content Delivery Network)抓取欲使用到的JavaScript Framework的速度(如JQuery Framework、YUI Framework)不會因所在地而影響到存取速度。
比如說,貴公司的網站主機擺放在美國,而網站使用到JQuery Framework 1.5.1的檔案,可能會因為使用者為了要存取這隻js而影響到整個頁面的存取速度。為了因應這種狀況,使用CDN Host會是一個不錯的解決方式,換個角度來說,這是另外一種雲端服務吧!
目前Google有幫一些熱門的JavaScript Framework做了Host服務,至於有哪些Framework請連結到Google Libraries API進行觀看:http://code.google.com/intl/zh-TW/apis/libraries/
Google Libraries API官網有對使用方式做一個說明,引入方式可分為兩種,一種就是直接存取雲端的實體位置,網路上的文件通常是稱為「靜態引入」,以引入JQuery 1.4.2檔案為例,引入的語法為:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
另外一種引入方式就是透過Google的API進行存取,通常是稱為「動態引入」,要使用動態引入時,必需要先引入Google API,語法為
<script type="text/javascript" src="https://www.google.com/jsapi?keyINSERT-YOUR-KEY"></script>
其中INSERT-YOUR-KEY必須要換成自己所申請的Google Key(若沒有請至http://code.google.com/apis/loader/signup.html進行申請),在引入好後就可以開始進行動態引入:
<script type="text/javascript" language="javascript">
google.load("chrome-frame", "1.0.2");
google.load("dojo", "1.6.0");
google.load("ext-core", "3.1.0");
google.load("jquery", "1.5.1");
google.load("jqueryui", "1.8.11");
google.load("mootools", "1.3.1");
google.load("prototype", "1.7.0.0");
google.load("scriptaculous", "1.8.3");
google.load("swfobject", "2.2");
google.load("yui", "3.3.0");
google.load("webfont", "1.0.19");
</script>
動態引入的參數為(Library名稱,版本)。
最後,該說說用CDN Host有什麼好處,在本文一開始所提到的存取速度,其實是一個比較易顯的好處,經筆者實際測試,如果網站伺服器速度快的話,使用Google CDN可能會感覺不出來差異或是會慢一點,不過在瀏覽器上面有一個技術叫做「快取」,如果使用者在某個網站載入過您所要載入的js檔案,那使用者在瀏覽您的網站就不會再次的載入這個檔案,也就是會節省掉不少存取頁面的時間。
此外,減少主機存放空間及網路流量也是好處之一,以JQuery為例,完整檔案一個也是上百KB,壓縮過後的min版本也是要20多KB,如果有上百個瀏覽者進行存取,昂貴的頻寬也就會被佔用掉,若此類檔案擺在Google家,有人幫你管控該類檔案的gzipped相關快取、壓縮技術,又省自家主機頻寬,可是多美好的一回事。
最後還可以說的好處就是技術人員在說的,更改引入檔案版本可是更為便利!