CDN教學指南:CDN用途、緩存8大特色一次看,提升網站效率!

加入好友

免費CDN教學來了!CDN用途與優勢不少,包括分散式節點能加快內容傳遞(提升SEO)、節省頻寬、降低源站(Origin Server)負擔、隱藏源站、過濾攻擊流量等等。談到加快內容傳遞、加速網站等特點,其實來自分散式節點的「緩存功能」,進一步了解CDN平台有哪些緩存功能,能更好地協助您制定網站的緩存策略,確保您的網站或您客戶的網站,能夠以更有效率的方式傳遞內容。 

因此,接下來將帶您了解iNODE NINJA平台上完整的緩存設定,確保您的CDN服務具有高可用性與競爭力。 

內容包括: 

  • CDN緩存是什麼? 
  • CDN平台的緩存功能介紹 
  • 指定緩存或不緩存路徑/檔案 
  • 強制緩存路徑/檔案 
  • 指定緩存時間 

CDN教學一:CDN緩存是什麼?

「緩存」是CDN用途的重點,透過將網站靜態內容或用戶較常請求的內容緩存在CDN節點(EDGE)上,當用戶訪問時,能夠直接從CDN節點回應給用戶端,而不需回源站(origin server)取得資料後再回應給用戶.除了可以提升用戶體驗之外,還能減少回源站的請求,降低您的頻寬成本以及對源站的負擔。 

CDN用途教學:透過緩存在分散式節點(EDGE)的網站內容,用戶的請求能以最近的節點傳遞,大幅加快網頁載入速度。
CDN用途教學:透過緩存在分散式節點(EDGE)的網站內容,用戶的請求能以最近的節點傳遞,大幅加快網頁載入速度。 

以下將介紹iNODE NINJA智慧CDN建立平台的緩存功能有哪些,包括能指定緩存或不緩存特定路徑/檔案以及指定緩存時間。 

CDN教學-緩存:iNODE NINJA智慧CDN建立平台的緩存設定操作直覺,無須專家,數分鐘即可優化網站緩存。
CDN教學-緩存:iNODE NINJA智慧CDN建立平台的緩存設定操作直覺,無須專家,數分鐘即可優化網站緩存。 
CDN教學-緩存:iNODE NINJA智慧CDN建立平台的緩存設定功能完整,包括指定緩存路徑/檔案、強制緩存等能幫助網站實現任何緩存策略。
CDN教學-緩存:iNODE NINJA智慧CDN建立平台的緩存設定功能完整,包括指定緩存路徑/檔案、強制緩存等能幫助網站實現任何緩存策略。 

CDN教學二:指定緩存或不緩存特定路徑/檔案

CDN用途1:緩存路徑/檔案,處理容量大卻又不常變動的檔案

如果您本身的網站上有些檔案大小比較大但又不會需要經常變動的內容時,此項功能設定就非常適合您網站使用,您可以將該路徑或檔案名稱設定在此,讓它們存放在EDGE1上,之後用戶訪問時,就能直接從EDGE將相關的內容回應給用戶,如此一來可以減少用戶訪問該資源時載入時所需時間,提高用戶體驗,更能減少回到您源站的流量,進而降低您的成本支出。 

舉例來說,客戶訪問您的網站首頁時,會固定請求https://example.com/welcomePage.png的歡迎圖片,而此圖片又不會經常變動的話,就很適合在緩存檔案中添加/welcomePage.png的路徑。 

當用戶的請求觸發您所設定的規則時,iNODE NINJA會在回應的表頭中附加c-Type: pc / c-Type: fc的內容.所以您也可以透過確認回應表頭是否有此訊息來判斷是否有正常觸發這個規則。

註1:EDGE為節點運作核心,在SLB將請求分配至EDGE後,由EDGE負責轉發請求至源站(origin server)及處理SSL、WAF、緩存、壓縮等CDN的網站加速與資安防護工作。點此詳細了解 iNODE NINJA 的「Site-SLB-EDGE」架構。

CDN用途2:強制緩存路徑/檔案,可忽略表頭上禁止緩存的訊息

有時候用戶的請求表頭可能會攜帶如Cache-Control: no-cache或Pragma: no-cache之類的表頭訊息以禁止缓存,一般而言當EDGE看到前述的表頭訊息時,就不會針對該請求的資料進行緩存,如此就會需要回到源站去取得相關資料.但如果透過強制緩存這項功能選擇您希望可以強制進行緩存的路徑或檔案時,EDGE就會忽略上述禁止緩存的表頭訊息,進而一樣可以達到緩存於EDGE的效果。 

強制緩存是iNODE NINJA一個強大的功能,相對的也會有幾點風險: 

  1. 錯誤資料:如果強制緩存了不正確的資料,這可能會導致系統錯誤或錯誤的結果。例如,在一個購物網站上強制緩存價格資料可能會導致消費者看到錯誤的價格,從而引起不必要的爭議。 
  1. 安全問題:如果緩存了機密資料,這些資料可能會被未經授權的人員查看。例如,如果一個使用者的個人資料被強制緩存,其他使用者就可以輕鬆地查看它,這會導致隱私泄露問題。 
  1. 時效性問題:如果一個資料被強制緩存了很長時間,當這個資料發生變化時,使用者就無法得到最新的資訊。這可能會導致錯誤的決策或不必要的麻煩。 

同時,也提供給您在設定上的一些參考以及衡量。 

當用戶的請求觸發您所設定的規則時,iNODE NINJA會在回應的表頭中附加c-Type: pc-f / c-Type: fc-f的內容.所以您也可以透過確認回應表頭是否有此訊息,判斷是否有正常觸發這個規則。 

最後,值得一提的是,iNODE NINJA預設對於set-cookie的表頭是不會進行緩存的,因此表頭通常會包含動態生成的會話 ID 或其他用戶特定的訊息,緩存此表頭內容可能會導致不正確的行為。 

例如:假設用戶請求example.com/demo.txt時,帶有set-cookie的表頭時預設不會緩存,但如果set-cookie的表頭內容對於demo.txt的檔案沒有影響並且希望可以緩存的話,就需要將/demo.txt的路徑設定在強制緩存中。 

CDN用途3:不緩存路徑/檔案,確保用戶永遠取得最新訊息

當然,網站上某些資料會經常更新,如最新消息,即時資訊等,因此,如果您不希望這類資料被緩存,導致用戶因此取得舊的資訊或者過期內容時,您可以藉由不緩存路徑/檔案的設定,讓EDGE不緩存指定內容,如此一來,可以確保用戶在訪問到指定內容時,CDN都會回到您的源站取得最新的資料,再回應給用戶。 

當用戶的請求觸發您所設定的規則時,iNODE NINJA會在回應的表頭中附加c-Type: pnc / c-Type: fnc的內容,所以您也可以透過確認回應表頭是否有此訊息來判斷是否有正常觸發這個規則。

CDN用途4:緩存遵循源站路徑/檔案,檔案的緩存設定不受規則約束

如果網站已經針對某些請求的路徑或檔案設定了特定的緩存方法,而不希望用戶對於這些「已經設定緩存方法的請求」受到EDGE緩存方法的影響,您可以將相關的路徑或檔案設定在此項功能中.因此,當相對應的請求到達EDGE時,EDGE就不會對於緩存這部分做任何動作了。 

假設用戶的訪問網址為:example.com/welcome.png,而png的檔案一般會命中預設緩存,如果您的網站對welcome.png此檔案已經有設定緩存方法了,不希望被EDGE影響,就可以將/welcome.png此路徑設定在此。 

當用戶的請求有觸發您所設定的規則時,iNODE NINJA會在回應的表頭中附加c-Type: pf / c-Type: ff的內容,所以您也可以透過確認回應表頭是否有此訊息來判斷是否有正常觸發這個規則。 

CDN用途5:預設緩存行為:內建智慧緩存判斷,免設定也OK!

如果您對網站緩存實踐的想法尚未成形,也不必擔心,iNODE NINJA預設針對以下文件格式進行緩存:bmp、class、css、csv、doc、docx、ejs、eot、eps、gif、ico、jar、jpeg、jpg、js、mid、midi、otf、pdf、pict、pls、png、ppt、pptx、ps、svg、svgz、swf、tif、tiff、ttf、webp、woff、woff2、xls、xlsx,而iNODE NINJA也會在回應表頭添加c-Type: df的訊息。 

如果您在EDGE上同時設定了多個不同的緩存方法時,iNODE NINJA判斷的順序為:緩存遵循源站路徑→緩存遵循源站檔案→不緩存路徑→不緩存檔案→強制緩存路徑→強制緩存檔案→緩存路徑→緩存檔案 

CDN用途6:忽略args,避免重複緩存相同資料

有時用戶訪問的URL可能會包含一些查詢參數等,例如:http://example.com/image.png?width=100&height=100,其中 width和 height是查詢參數.在iNODE NINJA中,預設會將不同的參數視為不一樣的緩存資料,並且分別緩存起來。 

例如,http://example.com/image.png?width=100&height=100跟http://example.com/image.png?width=50&height=50就會被當作兩個不同的檔案儲存,用戶需要訪問完全相同的網址才能使用緩存資料。 

如此一來將造成用戶請求相同檔案但只因參數不同,EDGE就會認為自己沒有該檔案的緩存,進而重新回源站取得檔案,增加源站負擔。 

因此,如果這些參數不影響請求資料的內容時,您可以將「忽略args」這項功能開啟,如此一來該資料就不會因不同參數而被視為不同資源被重複緩存。此舉能提高緩存的命中率,減少回到源站的請求,降低源站的負擔. 

CDN教學三:指定緩存時間——決定資料被緩存在瀏覽器與EDGE的時間

透過將緩存資料存放在瀏覽器可以降低EDGE的負擔,而存放在EDGE可以降低源站的負擔,因此以下將介紹2項關於緩存時間的重要功能:「瀏覽器過期時間」、「伺服器過期時間」。 

CDN用途7:瀏覽器過期時間

您能設定將緩存資料存放在瀏覽器的時間,您除了可以透過上述的df:表頭確認命中的功能外,也能透過max-age:的表頭確認緩存在瀏覽器的時間。 

CDN用途8:伺服器過期時間:配合檔案更新時間,可設定每5分鐘更新!

透過將緩存資料存放在瀏覽器可以降低EDGE的負擔,而存放在EDGE可以降低源站的負擔,當訪問觸發緩存的規則時,除了會透過max-age表頭儲存在瀏覽器外,您也可以同時設定存放在EDGE的時間。 

假設https://example/news.json這個檔案是您希望緩存的檔案,但此檔案每5分鐘就會更新一次,這時您可以透過同時在瀏覽器過期時間以及伺服器過期時間皆設定5分鐘,當5分鐘過後EDGE就會重新回到源站取得最近的資料,而這段時間就算用戶清除了瀏覽器的緩存,還是會由EDGE直接回傳此檔案。 

CDN教學四:透過網站性質,選擇需要的緩存設定

上面介紹了那麼多,最好的方法還是您親自設定過體驗才知道iNODE NINJA緩存的強大功能,以下幫您整理一份表格,您可以透過網站性質選擇對應的設定方式。

欄位 作用 優勢 適用網站or情境
緩存 緩存對應的資料在EDGE 請求相同資源時不需要回源站取得 網站首頁 
不緩存 訪問資源不會緩存在EDGE上 每次都會跟源站取得最新資料 購物網站商品即時數量.比賽分數更新 
忽略args 忽略參數,只以資源緩存 不同參數同一資源視為同一個緩存,增加緩存命中機會,減低源站負荷。 同樣的圖檔在不同頁面大小不一樣 

延伸閱讀:免費CDN服務:如何從零到有建立私有CDN服務,成為CDN廠商? 

Banner_03_inode_ninja_cdn_30_day_free_trial
Banner_05_inode_ninja_cdn_edge_purchase_guide
Banner_01_inode_ninja_cdn_request_process

訂閱電子報

最新產品資訊與優惠不錯過!

訂閱服務確認

已發送 Email 驗證信給你,請點擊信件連結以完成訂閱程序

訂閱失敗

暫時無法接受訂閱,請稍候重新嘗試