HTTP 協議緩衝

來源:互聯網
上載者:User

標籤:

http 緩衝分為用戶端緩衝和服務端緩衝

1. 用戶端緩衝

用戶端緩衝指的是瀏覽器緩衝, 瀏覽器緩衝是最快的緩衝, 因為它直接從本地擷取(但有可能需要發送一個請求), 它的優勢是可以減少網路流量, 加快請求速度

2. 伺服器緩衝

伺服器緩衝指的是反向 Proxy伺服器或 cdn 緩衝, 他的作用是用於減輕實際的 web server 的壓力.

 

緩衝生效都是通過 header 來控制的

1. Expires

如果 repsonse 中帶有 Expires=date, 則表示這個 response 可以由 瀏覽器/CDN 儲存至 date 日期, 在到達 date 日期之前, 都可以直接提供給請求方, 對於瀏覽器緩衝來說, 則可以不必發請求, 對於反向 Proxy伺服器來說, 則可以不用請求原始 server

2. Cache-Control

Cache-Control 的值有很多, 最常用的是 max-age, 如果 response 帶有 max-age, 則表示從現在起到 max-age 之前, 這個 repsonse 都可以作為緩衝使用

Server 的 Cache-Control
1. no-store, 提示用戶端應該刪除這個緩衝
2. no-cache, 提示用戶端在重新驗證這個緩衝之前不應該使用
3. max-age, 表示緩衝的新鮮時間, 在此時間內可以不發送 http 請求去驗證緩衝而直接使用它, 如果 max-age=0. 則表示要求不要緩衝文檔
4. s-maxage, 功能與 max-age 相同, 但只對共用快取生效(CDN, 反向 Proxy)

Client 的 Cache-Control
1. max-stale, 可以使用到期緩衝
2. max-stale=s, 在 s 秒內, 緩衝可以到期
3. min-fresh=s, 在 s 秒內, 緩衝不能到期
4. max=age=s, 緩衝的 age 必須小於 s 秒
5. no-cache, 除非資源進行再驗證, 否則不接受緩衝
6. no-store, 表示反向 Proxy伺服器不應該緩衝這個請求的 response
7. only-if-cached, 只想要已緩衝的資料, 否則返回 504

如果 Cache-Control 的 max-age 與 Expires 同時存在, 則 max-age 優先

3. Last-Modified/If-Modified-Since

如果 response 帶有 Last-Modified, 則 request 在 Expires 跟 Cache-Control 的緩衝到期後, 可以使用將 Last-Modified 的時間帶到 request header If-Modified-Since 裡, 去 server 端校正緩衝是否改變, 如果  server 回複 304, 則可以繼續使用本機快取

4. ETag/If-None-Match

如果 response  帶有 ETag, 則 request 在 Expires 跟 Cache-Control 的緩衝到期後, 可以將 Etag 的值帶到 request header If-None-Match, 如果  server 回複 304, 則可以繼續使用本機快取

5. ETag & Last-Modified

如果 response 同時包含 ETag 與 Last-Modified, 則 request 需要同時發送 If-Modified-Since 和 If-None-Match, 並且 server 需要兩者同時校正通過才返回 304.

HTTP 協議緩衝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.