即時精選

Web API 過去與未來(六):HTTP Caching 提升網站效率與用戶體驗

更新於 發佈於 閱讀時間約 4 分鐘

軟體工程師職涯升級計畫啟動!立即預約職涯諮詢、履歷健檢或模擬面試👈,為您的加薪做好準備!


當網站效能成為用戶體驗的關鍵,HTTP Cache(快取) 就是開發者手上的加速利器。

好的快取策略能顯著降低延遲、節省頻寬、提升裝置續航與後端效能。

這篇文章將說明 HTTP Cache 的基本概念與常見用法,並帶你了解如何正確設定快取頭(Cache Headers),讓你的 Web API 更快、更省、更聰明。


🚀 為什麼需要 HTTP Cache?

根據 MDN 定義,HTTP 快取是一種「重複使用過去取得的資源」的機制,目的是減少延遲節省資源

我們可以將 HTTP Cache 想成是瀏覽器與中繼伺服器的「記憶體」。透過記住已經取得過的資料,下次再遇到同樣的需求時,就不必再請求遠端伺服器,提高效能表現。

📷 實際案例

想像一個有大量圖片的網站,若每次刷新頁面都重新下載圖片,不僅浪費頻寬,也拖慢使用體驗。相反,若設有適當的快取策略,這些圖片就能從快取中直接讀取,即便離線也能顯示。

📸 下圖來自 MDN,顯示了有無快取的網頁載入差異

raw-image



📚 HTTP 快取的兩種形式

🧍‍♂️ 私有快取(Private Cache)

這是最常見的快取方式,通常儲存在使用者的瀏覽器中,也稱為 Local Cache

例如:

  • 使用者第一次造訪網站時,瀏覽器會快取圖片、CSS、JS 檔案
  • 使用者下次造訪時,這些資源就會從本機載入,而非重新請求伺服器

🧑‍🤝‍🧑 共用快取(Shared Cache)

共用快取通常部署在代理伺服器(Proxy Server)或CDN 節點中,可同時為多個使用者服務。

例如公司內部的 Proxy Server 或 Cloudflare 提供的邊緣節點,就能重複使用常見資源,減少整體流量與伺服器負擔


⚙️ 常見的 Cache-Control 設定

HTTP Cache 主要透過 Response Header 中的 Cache-Control 來控制行為。

雖然快取策略由後端設定,但前端開發者理解這些設定依然至關重要。

Cache-Control: max-age=<秒數>

設定快取資源的有效時間(單位為秒):

http
複製編輯Cache-Control: max-age=60

代表這份資源會在 60 秒內視為有效。如果使用者在這段時間內重新整理網頁,瀏覽器就會直接從快取中取用資料,不會發送新的 Request。超過時間,才會重新向伺服器請求。

📉 下圖來自 TechBridge,示意 Cache-Control 流程

raw-image

🚫 其他常見指令:

raw-image

這些設定可以組合使用,例如:

http
複製編輯Cache-Control: public, max-age=3600

代表這份資源可以被任意快取(例如 CDN),而且在一小時內有效。


🧭 HTTP 快取判斷流程

當瀏覽器收到一份已快取的資源,它會依據 Cache-Control 的規則,決定是否重新發送請求。

📊 下圖為 Cache 判斷邏輯流程圖:

raw-image

🔧 延伸閱讀與設定實務

若想深入了解如何配置快取策略,可以參考以下資源:


✅ 小結

在這系列文章中,我們從 Web 前後端分離出發,談到了 API 的設計、安全機制(Proxy)、與效能優化策略(Cache)。

HTTP Cache 是前端開發中提升效能的重要利器,不但能減輕伺服器壓力,也能提升用戶操作流暢度。

留言
avatar-img
留言分享你的想法!
avatar-img
跨越國界的程式人生
2會員
31內容數
自學程式,現為網頁開發工程師,同時擔任線上課程講師,專注於幫助自學程式的開發者找到理想工作。熱愛技術與分享,致力於將複雜的概念轉化為實用知識,讓更多人踏入軟體開發的世界。
2025/07/17
現代Web架構前後端分離盛行,但增加了前端與後端API互動的風險。本文介紹Proxy(代理伺服器)如何作為中介層,解決API網址暴露、跨來源請求(CORS)問題和權限控管等挑戰,提升API使用的安全性和彈性。文中包含Proxy的應用場景、Node.js實作範例,以及安全性考量。
Thumbnail
2025/07/17
現代Web架構前後端分離盛行,但增加了前端與後端API互動的風險。本文介紹Proxy(代理伺服器)如何作為中介層,解決API網址暴露、跨來源請求(CORS)問題和權限控管等挑戰,提升API使用的安全性和彈性。文中包含Proxy的應用場景、Node.js實作範例,以及安全性考量。
Thumbnail
2025/07/14
本篇文章深入探討 RESTful API 與 GraphQL 兩種主流 API 設計風格的優缺點、適用場景及實作方式,並提供選擇建議,協助開發者根據專案需求做出明智的選擇。文章也涵蓋了 API 快取機制、權限控制、以及常見挑戰等面向。
Thumbnail
2025/07/14
本篇文章深入探討 RESTful API 與 GraphQL 兩種主流 API 設計風格的優缺點、適用場景及實作方式,並提供選擇建議,協助開發者根據專案需求做出明智的選擇。文章也涵蓋了 API 快取機制、權限控制、以及常見挑戰等面向。
Thumbnail
2025/06/26
本篇文章探討 Web API 如何促成前後端分離,以及前後端分離架構的優點。文中說明 API 的概念、Web API 的功能、前後端分離的實作方式,並分析其在程式碼維護性、開發效率、使用者體驗和技術棧方面的優勢。
Thumbnail
2025/06/26
本篇文章探討 Web API 如何促成前後端分離,以及前後端分離架構的優點。文中說明 API 的概念、Web API 的功能、前後端分離的實作方式,並分析其在程式碼維護性、開發效率、使用者體驗和技術棧方面的優勢。
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
透過GraphQL提供的分頁方式,優化後端讀取資料的效能,避免過度讀取舊資料及準確指定特定項目。同時,利用Local-only field達成資料的整理或再次經過計算,提升管理和重複使用的效能。
Thumbnail
透過GraphQL提供的分頁方式,優化後端讀取資料的效能,避免過度讀取舊資料及準確指定特定項目。同時,利用Local-only field達成資料的整理或再次經過計算,提升管理和重複使用的效能。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
CSS 的繼承性是開發網頁樣式時的一個重要概念,它使得樣式設計更加靈活和高效,有助於提高程式碼的可讀性、一致性和可重用性,並加快開發速度,從而提供更好的開發體驗。
Thumbnail
幾乎所有的網站都一定會用到圖片和 icon,甚至可能會需要載入大量的圖片,它們也是網站中佔比最多的資源,所以透過優化這些圖片資源,就可能帶來很大的效能提升。
Thumbnail
幾乎所有的網站都一定會用到圖片和 icon,甚至可能會需要載入大量的圖片,它們也是網站中佔比最多的資源,所以透過優化這些圖片資源,就可能帶來很大的效能提升。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News