Cache-Control指令
表示是否能快取的指令
public指令
當指定使用public命令時,明確表明其他使用者也可利用快取
private指令
當指定private指令後,響應只以特定的使用者作為物件,與public行為相反,對於非特定使用者,代理伺服器則不會返回快取
no-cache 指令
使用該指令的目的是為了防止從快取中返回過期的資源。
客戶端傳送的請求包含該指令,表示客戶端不會接受快取過的響應,中間的快取伺服器就必須把客戶端請求轉發給源伺服器;
伺服器返回的請求包含該指令,那麼快取伺服器不能對資源進行快取。源伺服器以後將不再對快取伺服器請求中提出的資源有效性進行確認,且禁止其對響應資源進行快取操作
(no-cache=Location)
若像上述一樣對no-cache具體指定引數值,那麼客戶端在接受到這個被指定引數值的首部欄位對應的響應報文後,就不能使用快取。換言之,無引數值的首部欄位可以使用快取。只能在響應指令中指定該引數。
控制可執行快取的物件的指令
no-store指令
當使用no-store指令時,暗示請求(和對應的響應)或響應中包含機密資訊。因此,該指令規定快取不能在本地儲存請求或相應的任意部分。
指定快取期限和認證的指令
s-maxage指令
示例:Cache-control:s-maxage=xxxx(單位:秒)
只適用於供多位使用者使用的公共快取伺服器(一般指代理伺服器),對同一使用者重複返回響應的伺服器來說,該指令無任何作用。
max-age指令
示例:Cache-control:max-age=xxxx(單位:秒)
客戶端傳送包含該指令,若判定快取資源的快取時間比指定時間數值小,則接受快取的資源。若max-age=0,那麼快取伺服器需要將請求轉發給源伺服器;
伺服器返回的響應包含該指令,快取伺服器在指定時間內將不對快取資源的有效性再作確認。
min-fresh指令
示例:Cache-control:min-fresh=xxxx(單位:秒)
該指令要求快取伺服器返回至少還未過指定時間的快取資源。比如,設定60秒,過了60秒的資源都無法作為響應返回。
max-stale
示例:Cache-control:max-stale=xxxx(單位:秒)
該指令可指示快取資源。即使過期也照常接收。若未指定具體數值,那麼無論過多久,客戶端都會接受響應。如果指令中指定具體數值,即使過期,只要仍處於max-stale指定的時間內,仍會被客戶端接收。
only-if-cached
該指令表示客戶端僅在快取伺服器本地快取目標資源的情況下才會要求其返回。亦即快取伺服器不重新載入響應,也不會再確認資源有效性,若發生快取伺服器本地快取無響應,則返回504狀態碼Gateway Timeout.
must-revalidate
使用該指令,代理會向源伺服器再次驗證即將返回的響應快取目前是否仍然有效。
若無法獲取,返回504狀態碼,另外該指令忽略請求的max-sale指令
proxy-revalidate
該指令要求所有的快取伺服器在接受到客戶端帶有該指令的請求返回響應之前,必須再次驗證快取的有效性
no-transform
該指令規定無論是在請求還是響應中,快取都不能改變實體主體的媒體型別(可以防止快取或代理壓縮圖片等類似操作)
cache-control擴充套件
例項:Cache-control:private,community=“UCI”
通過cache-extension(標記)(token),可以擴充套件Cache-control首部欄位內的命令。extension tokens僅對能理解他的伺服器來說有意義,不能被理解就會直接被忽略。
相關文章
- [譯] 寫給大家看的 Cache-Control 指令配置
- Cache-Control
- Cache-Control for Civilians
- Session, LocalStorage ,Cache-ControlSession
- express的預設Cache-ControlExpress
- apache配置Expire/Cache-Control頭Apache
- Cache-Control欄位值詳解
- Cache-Control、ETag和過時的Expires
- 快取頭Cache-Control的含義和使用快取
- 瀏覽器快取詳解:expires,cache-control,last-modified,etag詳細說明瀏覽器快取AST
- Nginx下關於快取控制欄位cache-control的配置說明 - 運維小結Nginx快取運維
- 指令
- 與瀏覽器快取相關的expires,cache-control,last-modified,Etag等頭部資訊瀏覽器快取AST
- 探討下為什麼設定了Cache-Control:no-cache 伺服器還是返回304 Not Modified ?伺服器
- SCSS @for 指令CSS
- SCSS @if() 指令CSS
- MOV指令
- jcxz指令
- 常用指令
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- 史丹佛新作:無指令調優的指令遵循
- 常用指令碼學習手冊——Bat指令碼指令碼BAT
- Nmap指令整理
- Bash指令碼指令碼
- ubuntu常用指令Ubuntu
- SCSS @while指令CSSWhile
- Git指令大全Git
- git常用指令Git
- Sybase 常用指令
- powershell指令碼指令碼
- jpsall指令碼指令碼
- jsp forward 指令JSForward
- linux基本指令Linux
- ORG 偽指令
- perl指令碼指令碼
- npm常用指令NPM
- nginx location指令Nginx
- docker compose 指令Docker