← 所有文章

Data URI 完整指南:將資源內嵌到 HTML 中

2026 年 3 月 · 閱讀時間約 7 分鐘

在網頁效能最佳化中,減少 HTTP 請求是一個重要策略。Data URI(也稱為 Data URL)允許你將小型資源直接嵌入 HTML 或 CSS 中,從而減少伺服器請求次數。本文將完整介紹 Data URI 的語法、應用場景及最佳實踐。

什麼是 Data URI?

Data URI 是一種由 RFC 2397 定義的 URI 方案,允許在 URL 中直接包含資料內容,而非指向外部資源。其語法格式為:

data:[<mediatype>][;base64],<data>

Data URI 的常見用途

1. 嵌入小型圖片

最常見的用途是將小型圖示或 icon 直接嵌入 HTML 的 <img> 標籤或 CSS 的 background-image 中。這對於小於 2-4KB 的圖片特別有效。

2. CSS 中的背景圖片

在 CSS 中使用 Data URI 可以減少樣式表載入時額外的圖片請求。對於 CSS sprites 的替代方案,Data URI 提供了更簡單的維護方式。

3. 字型嵌入

雖然不常見,但在某些情況下可以將小型字型檔案嵌入 CSS 中,避免額外的字型載入請求。

4. SVG 內嵌

SVG 圖片特別適合使用 Data URI,因為 SVG 本身就是文字格式,甚至不需要 Base64 編碼就能直接嵌入。

效能考量

優點缺點
減少 HTTP 請求增加 HTML/CSS 檔案大小
消除 DNS 查詢延遲無法被瀏覽器獨立快取
減少伺服器負載Base64 增加約 33% 大小
避免 CORS 問題不適合大型資源

最佳實踐:根據 HTTP Archive 的研究,Data URI 最適合用於小於 2KB 的資源。超過這個大小,額外的 Base64 開銷和無法快取的缺點會超過減少 HTTP 請求的好處。

Data URI 的大小限制

不同瀏覽器對 Data URI 的大小限制不同:

雖然現代瀏覽器已沒有嚴格的大小限制,但從效能角度來看,超過 10KB 的資源通常不建議使用 Data URI。

何時不該使用 Data URI

快速生成 Data URI

使用我們的 Base64 工具,可以快速將檔案轉換為 Data URI 格式:

立即使用 Base64 編碼/解碼工具 →

結語

Data URI 是一個強大但需要審慎使用的技術。在正確的場景下使用它可以有效提升網頁效能,但過度使用反而會適得其反。掌握何時使用和何時不使用,才是關鍵。

參考文獻

  1. Masinter, L. "The 'data' URL scheme." IETF RFC 2397, 1998. https://datatracker.ietf.org/doc/html/rfc2397
  2. Mozilla Developer Network. "Data URLs." MDN Web Docs. https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
  3. HTTP Archive. "State of the Web." HTTP Archive Reports. https://httparchive.org/reports
  4. Grigorik, I. "High Performance Browser Networking." O'Reilly Media, 2013.