HTTP請求頭:
Accept:瀏覽器端可以接受的媒體類型
Accept: text/html:代表瀏覽器可以接受服務(wù)器回發(fā)的類型為 text/html
通配符 * 代表任意類型
Accept: / 代表瀏覽器可以處理所有類型
Accept-Encoding:瀏覽器申明自己接收的編碼方法捍掺,通常指定壓縮方法蚊丐,是否支持壓縮栏渺,支持什么壓縮方法(gzip, deflate)
Accept-Language:瀏覽器申明自己接收的語言
語言和字符集的區(qū)別:中文是語言升薯,中文有多種字符集责语,比如gbk
Connection:
keep-alive:當一個網(wǎng)頁打開完成后坤候,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會關(guān)閉,如果客戶端再次訪問這個服務(wù)器上的網(wǎng)頁,會繼續(xù)使用這一條已經(jīng)建立的連接
close:一個Request完成后送漠,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接會關(guān)閉爷狈,當客戶再次發(fā)送Request土辩,需要重新建立TCP連接
Host:發(fā)送請求時黎做,該報頭域是必須的
作用:請求報頭域主要用于指定被請求資源的Internet主機和端口號,它通常從HTTP URL中提取出來的
例如:我們在瀏覽器中輸入: http://www.baidu.com
瀏覽器發(fā)送的請求消息中骤铃,就會包含Host請求報頭域,如下:
Host:www.baidu.com
Referer:告訴服務(wù)器我是從哪個頁面鏈接過來的坷剧,服務(wù)器借此可以獲得一些信息用于處理
User-Agent:告訴HTTP服務(wù)器惰爬,客戶端使用的操作系統(tǒng)和瀏覽器的名稱和版本
另外,訪問一些其他的URL時候补鼻,request的Header里面一些其他的字段雅任,下面進行列舉:
比如,我在登錄一個需要用戶名密碼登錄的網(wǎng)站時咨跌,Request Header里面就有上面還沒提到的字段:
Cache-Control:控制網(wǎng)頁的緩存沪么,常見值有private、no-cache锌半、max-age禽车、must-revalidate等刊殉,默認為private,
這幾種值得作用是根據(jù)重新查看某一個頁面時不同的方式來區(qū)分:
(1) 打開新窗口
值為 private逸月、no-cache、must-revalidate:打開新窗口訪問時都會重新訪問服務(wù)器
如果指定了max-age(單位為秒)碗硬,那么在此值內(nèi)的時間里就不會重新訪問服務(wù)器
(2) 在地址欄回車
值為 private 或 must-revalidate,則只有第一次訪問時會訪問服務(wù)器恩尾,以后就不會訪問
值為 no-cache,則每次都會訪問
值為 max-age翰意,則在過期之前不會重復訪問
(3) 按后退按鈕
值為 private、must-revalidate醒第、max-age蔫磨,則不會重新訪問
值為 no-cache,則每次都會重復訪問
(4) 按刷新按鈕
無論為何值堤如,都會重復訪問
cookie:存儲一些用戶信息
if-Modified-Since:把瀏覽器端緩存頁面的最后修改時間發(fā)送到服務(wù)器去,服務(wù)器會把這個時間與服務(wù)器上實際文件的最后修改時間進行對比蝗岖。如果時間一致榔至,那么返回304,客戶端就直接使用本地緩存文件唧取。如果時間不一致,就會返回200和新的文件內(nèi)容邢享。客戶端接到之后骇塘,會丟棄舊文件韩容,把新文件緩存起來,并顯示在瀏覽器中.
If-None-Match:If-None-Match和ETag一起工作群凶,工作原理是在HTTP Response中添加ETag信息。 當用戶再次請求該資源時请梢,將在HTTP Request 中加入If-None-Match信息(ETag的值)柔滔。如果服務(wù)器驗證資源的ETag沒有改變(該資源沒有更新)萍虽,將返回一個304狀態(tài)告訴客戶端使用本地緩存文件。否則將返回200狀態(tài)和新的資源和Etag. 使用這樣的機制將提高網(wǎng)站的性能
原文鏈接:https://www.cnblogs.com/printN/p/6534529.html
HTTP響應(yīng)頭:
http://www.runoob.com/http/http-header-fields.html