通用首部是指請(qǐng)求報(bào)文和響應(yīng)報(bào)文雙方都會(huì)使用的首部
Cahche-Control
通過指定首部字段Cache-Control的指令,就能操作緩存的工作機(jī)制
Cache-Control:max-age=0, private, must-revalidate
緩存請(qǐng)求指令
指令 | 參數(shù) | 說明 |
---|---|---|
no-cache | 無 | 強(qiáng)制向原服務(wù)器再次驗(yàn)證 |
no-store | 無 | 不緩存請(qǐng)求或響應(yīng)的任何內(nèi)容 |
max-age = [秒] | 必須 | 響應(yīng) 的最大值 |
max-stale(=[秒]) | 可省略 | 接收已過期的響應(yīng) |
min-fresh = [秒] | 必需 | 期望在指定時(shí)間內(nèi)的響應(yīng)仍有效 |
no-transform | 無 | 代理不可更改媒體類型 |
only-if-cached | 無 | 從緩存獲取資源 |
cache-extension | - | 新指令標(biāo)記(token) |
緩存響應(yīng)指令
指令 | 參數(shù) | 說明 |
---|---|---|
public | 無 | 可向任意方提供響應(yīng)的緩存 |
private | 可省略 | 僅向特定用戶返回響應(yīng) |
no-cache | 可省略 | 緩存前必須先確認(rèn)其有效性 |
no-store | 無 | 不緩存請(qǐng)求或響應(yīng)的任何內(nèi)容 |
no-transform | 無 | 代理不可更改媒體類型 |
must-revalidate | 無 | 可緩存但必須再向服務(wù)器進(jìn)行確認(rèn) |
proxy-revalidate | 無 | 要求中間緩存服務(wù)器對(duì)緩存的響應(yīng)有效性在進(jìn)行確認(rèn) |
max-age = [秒] | 必須 | 響應(yīng) 的最大Age值 |
cache-extension | - | 新指令標(biāo)記(token) |
s-maxage = [秒] | 必需 | 公共緩存服務(wù)器響應(yīng)的最大Age值 |
Connection
Connection首部字段具備如下兩個(gè)作用:
- 控制不在轉(zhuǎn)發(fā)給代理的首部字段
GET / HTTP/1.1
Upgrade: HTTP/1.1
Connection: Upgrade
經(jīng)過代理服務(wù)器到達(dá)原服務(wù)器(首部字段Upgrade被刪除在轉(zhuǎn)發(fā))
GET / HTTP/1.1
- 管理持久連接
HTTP/1.1 版本默認(rèn)是持久連接的权她,為此客戶端會(huì)在持久連接上連續(xù)發(fā)送請(qǐng)求镀梭,當(dāng)服務(wù)器端想明確斷開連接時(shí)刀森,則指定Connection首部字段的值為Close.如果想在舊版本的HTTP協(xié)議上維持持續(xù)連接時(shí),則需指定Connection首部字段的值為Keep-Alive
Date
表明創(chuàng)建HTTP報(bào)文的日期和時(shí)間
Pragma
Pragma 是HTTP/1.1 之前版本的歷史遺留字段 僅作為與HTTP/1.0的向后兼容二定義
Trailer
首部字段Trailer會(huì)事先說明在報(bào)文主體后記錄了哪些首部字段报账。該首部字段可應(yīng)用在HTTP/1.1版本分塊傳輸編碼時(shí)
Transfer-Encoding
首部字段Transfer-Encoding規(guī)定了傳輸報(bào)文主體時(shí)采用的編碼方式
HTTP/1.1的傳輸編碼方式僅對(duì)分塊傳輸編碼有效
Transfer-Encoding 可選值有:chunked,identity ;
Upgrade
首部字段Upgrade用于檢測(cè)HTTP協(xié)議及其他協(xié)議是否可以使用更高版本進(jìn)行通信研底,其參數(shù)值可以用來指定一個(gè)完全不同的通信協(xié)議
對(duì)于附有首部字段Upgrade的請(qǐng)求,服務(wù)器可用101Switching Protocols 狀態(tài)碼作為響應(yīng)返回
Via
使用首部字段Via 是為了追蹤客戶端與服務(wù)器之間的請(qǐng)求和響應(yīng)報(bào)文的傳輸路徑
報(bào)文經(jīng)過代理和網(wǎng)關(guān)時(shí)透罢,會(huì)先在首部字段Via中附加該服務(wù)器的信息榜晦,然后在進(jìn)行轉(zhuǎn)發(fā)
Warning
HTTP/1.1的Warning 首部字段是從HTTP/1.1 的響應(yīng)首部(Retry-After)演變過來的。該首部通常會(huì)告知用戶一些與緩存相關(guān)的問題警告