CDN 相關

爲了提升網頁應用的加載速度,咱們會使用到瀏覽器緩存,然而瀏覽器緩存只能提高二次訪問的速度。對於加速首次訪問的速度,咱們最多見的手段則是使用 CDN 加速。html

CDN 的全稱是 Content Delivery Network,即內容分發網絡。經過將靜態資源緩存到離用戶很近的相同網絡運營商的 CDN 節點上,使用戶能夠就近取得所需的內容,解決網絡擁塞情況,提升用戶訪問網站的響應速度。前端

事實上,在一些較大型的公司來講,一般是由公司的運維開發人員來負責部署 CDN 服務的,前端人員只須要了解使用 CDN 服務的大體流程便可。瀏覽器

1 選擇 CDN 供應商

事實上,如今還有許多的 CDN 服務廠家,咱們須要根據需求的狀況去選擇相應的廠商。現階段 CDN 雲服務商的競爭已經由 技術 逐漸取代價格成爲 CDN 廠商在客戶談判時最關鍵因素,技術更高的 CDN 服務可以下降帶寬成本、提高用戶體驗。緩存

現在 CDN 各大廠商都會提供十分詳盡的接入文檔,使咱們接入的開發成本變得更低。這裏列舉國內比較出名的 CDN 廠商:性能優化

2 鏈接 CDN 服務

一般購買了 CDN 服務後,該 CDN 服務會提供相應的接口讓咱們去上傳和部署咱們的資源。這部分的工做一般是由咱們運維人員去負責的,對於一些小公司可能則須要前端或者後臺人員去負責鏈接 CDN 服務,使業務可以部署靜態資源到相應的服務器上。服務器

3 前端工程靜態資源部署

使用 CDN 服務,對前端工程產生了必定的影響,咱們須要對靜態資源的部署作兩項改變:網絡

3.1 將靜態資源部署到不一樣網絡線路的服務器中

因爲用戶的網絡線路有不少種,如網通、電信、移動等,爲了讓不一樣地區的用戶會訪問到離本身最近的相同網絡線路上的 CDN 節點。所以咱們須要將咱們的資源部署到不一樣的網絡線路的服務器中,而後經過這些服務器同步到不一樣線路的 CDN 節點上。運維

3.2 加載靜態資源時需使用與頁面不一樣的域名

使用不一樣的域名來加載 CDN 服務的靜態資源,一方面便於接入爲 CDN 時設置 DNS 的智能解析。另外一方面當靜態資源和主頁面使用不一樣的域名,在加載靜態資源時 HTTP 請求並不會帶上主域頁面的 Cookie 等數據,較少了請求時的數據傳輸量,進一步加快網絡訪問。性能

3.3 資源路徑的修正

一般狀況下,咱們的資源都是在本地,好比有個 JS 文件,咱們在 HTML 裏面按照相對目錄引用它:優化

<script src="js/script.js"></script> 

使用了 CDN 的話,資源都部署到了 CDN 服務器上去咯,這個時候咱們必須用絕對路徑來引用:

<script src="http://xxx.xxx.xxx/js/script.js"></script> 

全部啊,必須有個修正資源路徑的過程,而這個過程固然不能手動,一般都是在工程化裏面解決這個問題。

總結

現在 CDN 服務基本上已經成爲現代大型網頁應用的標配。這項技術是一種十分經常使用的網絡性能優化手段。在將來的前端開發中,咱們會常常與 CDN 打交道。所以若是可以清楚瞭解了 CDN 服務的相關原理和概念,將會讓咱們在未來的開發中可以更加駕輕就熟。

更多閱讀

相關文章
相關標籤/搜索