Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Caching in HTTP

SJ Chou
January 13, 2014

Caching in HTTP

初探 HTTP 1.1 Cache 機制,透過簡單的實驗來說明瀏覽器對於 HTPP Cache 的實作策略。

SJ Chou

January 13, 2014
Tweet

More Decks by SJ Chou

Other Decks in Programming

Transcript

  1. 回顧 HTTP 1.1 的設計理念 Architectural Styles and the Design of

    Network-based Software Architectures (by Roy Thomas Fielding) CHAPTER 5. Representational State Transfer (REST)
  2. HTTP Features • HTTP 1.1 設計 Cache 的目的在降低 Request 與

    Full Response • 以下兩個主要的設計理念 ◦ Expiration ◦ Validation • 實作上透過 Header 讓 Server 與 Client 可以 自由定義 Cache 的方式
  3. HTTP 1.0 與 HTTP 1.1 Caching Difference HTTP 1.0 Reponse

    Cache Header ◦ Expires ◦ Pragma HTTP 1.1 Reponse Cache Header ◦ Cache-Control
  4. 介紹 HTTP 1.1 Cache-Control Header • Response Cache Header ◦

    no-store 完全不 Cache ◦ no-cache 允許 Cache 但是每次都會檢查 Cache 狀態 ◦ max-age 設定要 Cache 幾秒 ◦ private Cache 只給目前使用者使用 ◦ public Cache 可共用 (HTTPS不可共用) ◦ must-revalidate 交由 Client 自行決定要不要使用 Cache • 可以混搭
  5. Reference • HTTP 1.1 RFC 2616 - 14.9 Cache-Control •

    HTTP 1.1 RFC 2616 - 13 Caching in HTTP • Architectural Styles and the Design of Network-based Software Architectures - 5 Representational State Transfer (REST)