響應(yīng)首部字段
響應(yīng)首部字段是有服務(wù)器端想客戶端返回響應(yīng)報文中所使用的字段涕烧,用于補充響應(yīng)的附加信息复局、服務(wù)器信息碌嘀、以及對客戶端的附加要求等信息。
1. Accept-Ranges:bytes
用來告知客戶端服務(wù)器是否能處理范圍請求便锨,以指定獲取服務(wù)器端某個部分的資源。
注意:bytes值有兩種我碟,可處理范圍請求時指定其為bytes鸿秆,反之則指定其為none。**
****2. Age****
首部字段Age能告知客戶端怎囚,源服務(wù)器在多久前創(chuàng)建了響應(yīng)卿叽。字段值的單位為秒。
若創(chuàng)建該響應(yīng)的服務(wù)器是緩存服務(wù)器恳守,Age值是指緩存后的響應(yīng)再次發(fā)起認(rèn)證到認(rèn)證完成的時間值考婴。代理創(chuàng)建響應(yīng)時必須加上首部字段Age。
Age: 600
****3. ETage****
首部字段ETag能告知客戶端實體標(biāo)識催烘。它是一種可將資源以字符串形式做唯一性標(biāo)識的方式沥阱。服務(wù)器會為每份資源分配對應(yīng)的ETag值。
注意:當(dāng)資源更新時伊群,ETag值也需要更新考杉。**
ETag作用:當(dāng)資源被緩存時,會被分配唯一性標(biāo)識舰始。當(dāng)使用不同語言的瀏覽器訪問URI的時候崇棠,會返回不同的ETag。這是因為丸卷,所請求的URI都相同枕稀,僅憑URI指定的緩存的資源是相當(dāng)困難。另外就是若在下載過程中出現(xiàn)連接中斷谜嫉、再連接的情況萎坷,都會依照ETag來指定資源。
強ETag值和弱ETag值
<font size = 3>強ETag值:無論實體發(fā)生多么細(xì)紋的變化都會改變其值沐兰。
ETag:"82e22293907ce725faf67773957acd12"
</font>
<font size = 3>弱ETag值:只用于提示資源是否相同哆档。只有資源發(fā)生了根本改變,產(chǎn)生差異時才會ETag值住闯。這是會在字段值最開始處附加W/瓜浸。
ETag:W/ "usagi-1234"</font>
****4. Location****
Location:可以將響應(yīng)接收方引導(dǎo)至某個與請求URI位置不同的資源。
<font size = 2> 基本上寞秃,該字段會配合3xx: Redirection 的響應(yīng)斟叼,提供重定向的 URI 偶惠。
****5. Proxy-Authenticate****
Proxy-Authenticate 會把由代理服務(wù)器所要求的認(rèn)證信息發(fā)送給客戶端春寿。
Proxy-Authenticate: Basic realm = "Usagidesign Auth" 。
提示:這個首部字段的作用與請求首部字段 WWW-Authorization 有著相同的作用忽孽。
****6. Retry-After****
Retry-After 告知客戶端多久之后再來訪問绑改。 字段值可以指定為具體的日期時間(Wed, 04 Jul 2012 06: 34: 24 GMT 等格式)谢床, 也可以是創(chuàng)建響應(yīng)后的秒數(shù)
ETag: 120
主要配合狀態(tài)碼*** 503 Service Unavailable 響應(yīng),或 3xx Redirect ***響應(yīng)一起使用厘线。
****7. Server****
我想這個看字面量也能夠知道什么意思
告知客戶端當(dāng)前服務(wù)器上安裝的HTTP服務(wù)器應(yīng)用程序的信息识腿。
如:Server: Apache/2.2.6 (Unix) PHP/5.2.5
****8. Vary****
代理服務(wù)器接收到原服務(wù)器返回包含Vary指定項的響應(yīng)之后,若再要進行緩存造壮,僅對請求中含有相同Vary指定首部字段的請求返回緩存渡讼。即使對相同資源發(fā)起請求,但由于Vary指定的首部字段不相同耳璧,那么也必須從源服務(wù)器重新獲取
官方表述可能會有點繞口成箫,說說我的理解:當(dāng)代理服務(wù)器收到了客戶端的請求時候,如果請求首部字段的值與 Vary 的值相同旨枯,才會從代理服務(wù)器的緩存中返回請求蹬昌,反之就會向源服務(wù)器重新發(fā)送請求