http頭部信息詳解
打開一個網(wǎng)頁(以淘寶網(wǎng)站為例)就會出現(xiàn)相對應(yīng)的內(nèi)容输莺,這些內(nèi)容是通過怎么樣的方式展現(xiàn)在我們的面前呢?我們可以通過查看網(wǎng)頁的http頭部信息來獲取相關(guān)的內(nèi)容,如HTTP的請求報文與響應(yīng)報文等见转,如下所示
1誊稚、General:
Request URL:https://img.alicdn.com/tfs/TB1qfbtawMPMeJjy1XcXXXpppXa-160-56.gif
##請求的資源,可以是相對路徑倒脓,也可以是完整的URL
Request Method:GET
##請求方法撑螺,希望服務(wù)器端執(zhí)行的動作,如GET崎弃、HEAD甘晤、POST等。
注:
HTTP的請求方法:
安全的方法:GET饲做、HEAD
? ? ? POST线婚、PUT、DELETE盆均、OPTIONS塞弊、TRACE
擴(kuò)展方法:LOCK、MKCOL泪姨、COPY游沿、MOVE
GET是向web服務(wù)器請求一個文件;
HEAD是檢查一個對象是否存在驴娃,跟GET相似奏候,但其不需要服務(wù)發(fā)送資源而僅傳回響應(yīng)首部;
POST是向web服務(wù)器發(fā)送數(shù)據(jù)讓web服務(wù)器進(jìn)行處理唇敞,支持HTML表單提交蔗草,表單中有用戶填入的數(shù)據(jù)咒彤,這些數(shù)據(jù)會發(fā)送到服務(wù)器端,由服務(wù)器存儲至某位置(例如發(fā)送處理程序)咒精;
PUT:與GET相反镶柱,向服務(wù)寫入文檔;發(fā)布系統(tǒng)
DELETE:請求刪除URL指向的資源
OPTIONS:探測服務(wù)器端對某資源所支持的請求方法
TRACE:追蹤請求資源要經(jīng)過的防火墻模叙、代理或網(wǎng)關(guān)等
Status Code:200? (from disk cache)
##響應(yīng)報文代碼
? ? 1XX:信息性狀態(tài)碼
? ? ? ? ? ? 100:繼續(xù)
? ? ? ? ? ? 101:分組交換協(xié)議
? ? 2XX:成功狀態(tài)碼
? ? ? ? 200:OK
? ? ? ? 201:Created OK
? ? ? ? 202:被采納
? ? ? ? 203:非授權(quán)信息
? ? ? ? 204:無內(nèi)容
? ? ? ? 205:重置內(nèi)容
? ? ? ? 206:部分內(nèi)容
? ? 3XX:重定向狀態(tài)碼
? ? ? ? 301:Moved Permanebtly 永久重定向歇拆,在響應(yīng)報文中使用首部“Location:URL”指定資源現(xiàn)在所在的位置
? ? ? ? 302:Found 臨時重定向,在響應(yīng)報文中使用首部“Location:URL”指定臨時資源位置
? ? ? ? 304:Not Modified范咨,條件式請求中使用
? ? ? ? 305:使用代理
? ? 4XX:客戶端的錯誤
? ? ? ? 400:錯誤請求
? ? ? ? 401:未授權(quán)
? ? ? ? 403:Forbidden,請求被服務(wù)器拒絕
? ? ? ? 404:Not Found故觅,服務(wù)器無法找到請求的URL
? ? ? ? 405:Method Not Allowed,不允許使用此方法請求響應(yīng)的URL
? ? 5XX:服務(wù)器類的錯誤
? ? ? ? 500:Internal Server Error,服務(wù)器內(nèi)部錯誤
? ? ? ? 502:Bad Gateway:代理服務(wù)器從上游收到一條偽響應(yīng)
? ? ? ? 503:Service Unavailable渠啊,服務(wù)器此時無法提供服務(wù)输吏,但將來可能可用
Remote Address:113.105.222.180:443
##遠(yuǎn)程地址
Referrer Policy:no-referrer-when-downgrade
##網(wǎng)站的 Referrer 策略
注:
No Referrer:任何情況下都不發(fā)送 Referrer 信息;
No Referrer When Downgrade:僅當(dāng)發(fā)生協(xié)議降級(如 HTTPS 頁面引入 HTTP 資源替蛉,從 HTTPS 頁面跳到 HTTP 等)時不發(fā)送 Referrer 信息贯溅。這個規(guī)則是現(xiàn)在大部分瀏覽器默認(rèn)所采用的;
Origin Only:發(fā)送只包含 host 部分的 Referrer躲查。啟用這個規(guī)則它浅,無論是否發(fā)生協(xié)議降級,無論是本站鏈接還是站外鏈接镣煮,都會發(fā)送 Referrer 信息姐霍,但是只包含協(xié)議 + host 部分(不包含具體的路徑及參數(shù)等信息);
Origin When Cross-origin:僅在發(fā)生跨域訪問時發(fā)送只包含 host 的 Referrer怎静,同域下還是完整的邮弹。它與 Origin Only 的區(qū)別是多判斷了是否 Cross-origin黔衡。需要注意的是協(xié)議蚓聘、域名和端口都一致,才會被瀏覽器認(rèn)為是同域盟劫;
Unsafe URL:無論是否發(fā)生協(xié)議降級夜牡,無論是本站鏈接還是站外鏈接,統(tǒng)統(tǒng)都發(fā)送 Referrer 信息侣签。正如其名塘装,這是最寬松而最不安全的策略;
2影所、Response Headers:
access-control-allow-origin:*
##是HTML5中定義的一種解決資源跨域的策略蹦肴,通過服務(wù)器端返回帶有Access-Control-Allow-Origin標(biāo)識的Response header,用來解決資源的跨域權(quán)限問題猴娩。
age:1449207
##當(dāng)代理服務(wù)器用自己緩存的實體去響應(yīng)請求時阴幌,用該頭部表明該實體從產(chǎn)生到現(xiàn)在經(jīng)過多長時間了
cache-control:max-age=31536000
##指定請求和響應(yīng)遵循的緩存機(jī)制勺阐。在請求消息或響應(yīng)消息中設(shè)置Cache-Control并不會修改另一個消息處理過程中的緩存處理過程。請求時的緩存指令包括no-cache矛双、no-store渊抽、max-age、max-stale议忽、min-fresh懒闷、only-if-cached,響應(yīng)消息中的指令包括public栈幸、private愤估、no-cache、no-store速址、no-transform灵疮、must-revalidate、proxy-revalidate、max-age。網(wǎng)頁的緩存通過HTTP消息頭中的“Cache-control”來控制秒际,常見的取值有private恳蹲、no-cache、max-age圾结、must-revalidate等,默認(rèn)為private。
各個消息中的指令含義如下:
Public指示響應(yīng)可被任何緩存區(qū)緩存羡棵。
Private指示對于單個用戶的整個或部分響應(yīng)消息,不能被共享緩存處理嗅钻。這允許服務(wù)器僅僅描述當(dāng)用戶的部分響應(yīng)消息皂冰,此響應(yīng)消息對于其他用戶的請求無效。
no-cache指示請求或響應(yīng)消息不能緩存
no-store用于防止重要的信息被無意的發(fā)布养篓。在請求消息中發(fā)送將使得請求和響應(yīng)消息都不使用緩存秃流。
max-age指示客戶機(jī)可以接收生存期不大于指定時間(以秒為單位)的響應(yīng)。
min-fresh指示客戶機(jī)可以接收響應(yīng)時間小于當(dāng)前時間加上指定時間的響應(yīng)柳弄。
max-stale指示客戶機(jī)可以接收超出超時期間的響應(yīng)消息舶胀。如果指定max-stale消息的值,那么客戶機(jī)可以接收超出超時期指定值之內(nèi)的響應(yīng)消息碧注。
content-length:31448
##表示內(nèi)容長度嚣伐,用于描述HTTP消息實體的傳輸長度the transfer-length of the message-body,如果head中有Content-Length萍丐,那么這個Content-Length既表示實體長度轩端,又表示傳輸長度。如果實體長度和傳輸長度不相等(比如說設(shè)置了Transfer-Encoding)逝变,那么則不能設(shè)置Content-Length基茵。如果設(shè)置了Transfer-Encoding刻撒,那么Content-Length將被忽視。
content-type:image/gif
## MediaType耿导,即是Internet Media Type声怔,互聯(lián)網(wǎng)媒體類型;也叫做MIME
型舱呻,在Http協(xié)議消息頭中醋火,使用Content-Type來表示具體請求中的媒體類型息。
常見的媒體格式類型如下:
text/html : HTML格式
text/plain :純文本格式? ? ?
text/xml :? XML格式
image/gif :gif圖片格式? ?
image/jpeg :jpg圖片格式
image/png:png圖片格式
date:Thu, 31 Aug 2017 13:20:44 GMT
## Date頭域表示消息發(fā)送的時間箱吕,時間的描述格式由rfc822定義芥驳。
eagleid:7169dea815056348519994986e
##請求變量的實體標(biāo)簽的當(dāng)前值
expires:Fri, 31 Aug 2018 13:20:44 GMT
##響應(yīng)過期的日期和時間
last-modified:Wed, 30 Aug 2017 01:19:14 GMT
##請求資源的最后修改時間
server:Tengine
##web服務(wù)器軟件名稱
status:200
##狀態(tài)碼
timing-allow-origin:*
##如果使用 CDN的話,需要讓 CDN 服務(wù)商加上 Timing-Allow-Origin 的響應(yīng)頭茬高,才能拿到靜態(tài)資源的數(shù)據(jù)兆旬。
via:cache22.l2cn62[0,200-0,H],cache40.l2cn62[1,0], cache1.cn223[0,200-0,H], cache8.cn223[1,0]
##列出從客戶端到 OCS 或者相反方向的響應(yīng)經(jīng)過了哪些代理服務(wù)器,他們用什么協(xié)議(和版本)發(fā)送的請求怎栽。
當(dāng)客戶端請求到達(dá)第一個代理服務(wù)器時丽猬,該服務(wù)器會在自己發(fā)出的請求里面添加 Via 頭部,并填上自己的相關(guān)信息熏瞄,當(dāng)下一個代理服務(wù)器 收到第一個代理服務(wù)器的請求時脚祟,會在自己發(fā)出的請求里面復(fù)制前一個代理服務(wù)器的請求的Via頭部,并把自己的相關(guān)信息加到后面强饮,以此類推由桌,當(dāng) OCS 收到最后一個代理服務(wù)器的請求時,檢查 Via 頭部邮丰,就知道該請求所經(jīng)過的路由
x-cache:HIT TCP_MEM_HIT dirn:2:356748237
##反向代理服務(wù)器使用的 HTTP 頭部
x-swift-cachetime:30545095
##指明使用的具體熱點緩存技術(shù)
x-swift-savetime:Tue, 12 Sep 2017 00:35:49 GMT
##表示什么時間點緩存住該資源的
3行您、equest Headers:
Provisional headers are shown
Referer:https://www.taobao.com/
##表示瀏覽器所訪問的前一個頁面,可以認(rèn)為是之前訪問頁面的鏈接將瀏覽器帶到了當(dāng)前頁面
User-Agent:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Mobile Safari/537.36
##瀏覽器的身份標(biāo)識字符串