鍍金池/ 教程/ Java/ RESTful Web 服務(wù) - 緩存
RESTful Web 服務(wù) - 環(huán)境設(shè)置
RESTful Web 服務(wù) - 資源
RESTful Web 服務(wù) - 第一個(gè)應(yīng)用
RESTful Web 服務(wù) - 緩存
RESTful Web 服務(wù) - 方法
RESTful Web 服務(wù) - 安全性
RESTful Web 服務(wù) - 尋址
RESTful Web 服務(wù) - 無狀態(tài)
RESTful Web 服務(wù) - Java (JAX-RS)
RESTful Web 服務(wù) - 介紹
RESTful Web 服務(wù) - 消息

RESTful Web 服務(wù) - 緩存

緩存是指在客戶端存儲(chǔ)服務(wù)器響應(yīng),以便客戶端不需要一次又一次的請(qǐng)求服務(wù)器上相同的資源。服務(wù)器響應(yīng)應(yīng)該有關(guān)于如何進(jìn)行緩存的信息,以便客戶端緩存一段時(shí)間內(nèi)的響應(yīng)或者永遠(yuǎn)不緩存服務(wù)器響應(yīng)。

下面是可以用來配置客戶端緩存的服務(wù)器響應(yīng)頭:

編號(hào) 頭信息 & 描述
1 Date
創(chuàng)建資源的日期和時(shí)間。
2 Last Modified
最后修改資源的日期和時(shí)間。
3 Cache-Control
控制緩存的主要頭信息。
4 Expires
緩存到期的日期和時(shí)間。
5 Age
從服務(wù)器獲取資源持續(xù)的秒數(shù)。

Cache-Control Header

下面是 Cache-Control 頭詳情:

編號(hào) 指令 & 描述
1 Public
表明該資源可由任何組件緩存。
2 Private
表明該資源只能由客戶端和服務(wù)器緩存,沒有中介可以緩存該資源。
3 no-cache/no-store
表明該資源不可緩存。
4 max-age
表明緩存在 max-age 指定的秒數(shù)內(nèi)有效。之后,客戶端就必須發(fā)起另一個(gè)請(qǐng)求。
5 must-revalidate
表明如果 max-age 已經(jīng)過去了服務(wù)器要重新驗(yàn)證資源。

最佳實(shí)踐

  • 始終保持靜態(tài)內(nèi)容比如圖像,CSS,JavaScript 可緩存,設(shè)置到期日期為 2 到 3 天。
  • 永遠(yuǎn)不要保持過長(zhǎng)的有效期。
  • 動(dòng)態(tài)內(nèi)容應(yīng)該只緩存幾個(gè)小時(shí)。

http://wiki.jikexueyuan.com/project/restful/images/cache_control.jpg" alt="cache control" />