Encoding
請求:Accept-Encoding
響應:Content-Encoding取值:gzip、deflate、sdch
作用:對請求體和響應體進行壓縮,壓縮文本數(shù)據(jù)能減少帶寬并加快顯示速度。壓縮的時間會遠小于傳輸?shù)臅r間,所以不用擔心壓縮。


Connection
- 請求:Connection
響應:Connection - 取值范圍:
Keep-Alive、Close - 作用:
Keep-Alive:可以減少TCP建立成本,銷毀成本。(長連接),但是占用端口時間長,高并發(fā)時需要考慮。
Close:每次連接將使用新的TCP連接
在請求一個網(wǎng)址時,返回最終頁面的內(nèi)容大多數(shù)有多個請求組成(css、js、png等資源的請求),所以如果開啟keep-alive可以讓頁面的所有請求都在一次tcp連接建立后傳輸。


Cookie
響應:Set-Cookie
如:sid = test; path=/; 鍵值對形式
請求:Cookie
如:sid = test;特殊值:expires:失效時間,path:該Cookie適用于哪些請求路徑,domain:試用于哪些域名。
當服務端Set-Cookie時,瀏覽器記錄此鍵值對的值并在下次請求時提交上去。
session通過Cookie實現(xiàn)
Cookie大小客戶端服務端實現(xiàn)有可能不一樣,一般4K.


Accept-Language
- 請求:Accept-Language
- 取值范圍:
en,zh-CN,zh;q=0.8,zh;q=0.6,zh-TW;q=0.4
其中q代表權重,en默認權重為1 - 作用:
客戶端接收的語言。根據(jù)此值做本地化判斷,如:英文與中文頁面的切換。

Referer
請求:Referer
客戶端請求時添加此值,標識從哪個網(wǎng)站跳過來的。-
可做資源防盜鏈時使用。
referer
User-Agent
- 請求:User-Agent
值如:
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
客戶端的一些信息,包括:客戶端硬件信息,操作系統(tǒng),瀏覽器信息等。
- 作用:
根據(jù)這個值做一些數(shù)據(jù)統(tǒng)計分析,如果是手機端則推送適合手機的內(nèi)容。

Modified-Since
請求:If-Modified-Since
響應:Last-Modified值如:Fri, 23 Oct 2015 05:36:06 GM
作用:
客戶端先保存服務端的Last-Modified與此資源信息到本地,當此資源以后請求時,把此值設為If-Modified-Since并請求到服務器。
服務端判斷此值未變或不需要更新時返回304,表明客戶端可直接使用緩存。


Cache-Control
響應:cache-control
值如:max-age=121737619或private, max-age=0, no-cache
max-age設置緩存多少時間,max-age=0就是沒有緩存。作用:
控制緩存時間,相對時間長度。


Expires
- 響應:Expires
- 值如:Wed, 25 Oct 2017 09:05:12 GMT
設置絕對時間 -
作用:
指定到特定時間過期。
image.png
Etag
- 響應:Etag
請求:if-none-match - 值如:“zdsfsdf”
- 作用:
Last-Modified類似,服務端給文件生成一個標識,下次客戶端存在if-none-match中提交到服務端,服務端進行比較來判斷文件是否改變,從而做出是否緩存決定。
Etag 主要為了解決 Last-Modified 無法解決的一些問題。
比如: 一些文件也許會周期性的更改,但是他的內(nèi)容并不改變(僅僅改變的修改時間),這個時候我們并不希望客戶端認為這個文件被修改了,而重新GET;


Via
響應:via
作用:存放路由信息,CDN中常用。

Content-Length
- 請求:Content-Length
響應:content-length - 值:數(shù)字
- 作用:代表請求體的大小,或者響應體內(nèi)容的大小。

Content-Range
請求:Range,
格式Range:(unit=first byte pos)-[last byte pos]
指定第一個字節(jié)的位置和最后一個字節(jié)的位置,
響應:Content-range,
格式Content-Range: bytes (unit first byte pos) - [last byte pos]/[entity legth]
指定整個實體中的一部分的插入位置,他也指示了整個實體的長度值如:
Range:bytes=0-801
Content-Range: bytes 0-800/801作用:可指定傳入文件的第幾個字節(jié)讀取,可用于實現(xiàn)端點下載。

