1. 程式人生 > >http頭部信息詳解

http頭部信息詳解

http頭部信息

打開一個網頁(以淘寶網站為例)就會出現相對應的內容,這些內容是通過怎麽樣的方式展現在我們的面前呢?我們可以通過查看網頁的http頭部信息來獲取相關的內容,如HTTP的請求報文與響應報文等,如下所示

技術分享圖片

1、General:

Request URL:https://img.alicdn.com/tfs/TB1qfbtawMPMeJjy1XcXXXpppXa-160-56.gif

##請求的資源,可以是相對路徑,也可以是完整的URL

Request Method:GET

##請求方法,希望服務器端執行的動作,如GET、HEAD、POST等。

註:

HTTP的請求方法:

安全的方法:GET、HEAD

POST

、PUT、DELETE、OPTIONS、TRACE

擴展方法:LOCK、MKCOL、COPY、MOVE

GET是向web服務器請求一個文件;

HEAD是檢查一個對象是否存在,跟GET相似,但其不需要服務發送資源而僅傳回響應首部;

POST是向web服務器發送數據讓web服務器進行處理,支持HTML表單提交,表單中有用戶填入的數據,這些數據會發送到服務器端,由服務器存儲至某位置(例如發送處理程序);

PUT:與GET相反,向服務寫入文檔;發布系統

DELETE:請求刪除URL指向的資源

OPTIONS:探測服務器端對某資源所支持的請求方法

TRACE:追蹤請求資源要經過的防火墻、代理或網關等

Status Code:200 (from disk cache)

##響應報文代碼

1XX:信息性狀態碼

100:繼續

101:分組交換協議

2XX:成功狀態碼

200:OK

201:Created OK

202:被采納

203:非授權信息

204:無內容

205:重置內容

206:部分內容

3XX:重定向狀態碼

301:Moved Permanebtly 永久重定向,在響應報文中使用首部“Location:URL”指定資源現在所在的位置

302:Found 臨時重定向,在響應報文中使用首部“Location:URL”指定臨時資源位置

304:Not Modified,條件式請求中使用

305:使用代理

4XX:客戶端的錯誤

400:錯誤請求

401:未授權

403:Forbidden,請求被服務器拒絕

404:Not Found,服務器無法找到請求的URL

405:Method Not Allowed,不允許使用此方法請求響應的URL

5XX:服務器類的錯誤

500:Internal Server Error,服務器內部錯誤

502:Bad Gateway:代理服務器從上遊收到一條偽響應

503:Service Unavailable,服務器此時無法提供服務,但將來可能可用

Remote Address:113.105.222.180:443

##遠程地址

Referrer Policy:no-referrer-when-downgrade

##網站的 Referrer 策略

註:

No Referrer:任何情況下都不發送 Referrer 信息;

No Referrer When Downgrade:僅當發生協議降級(如 HTTPS 頁面引入 HTTP 資源,從 HTTPS 頁面跳到 HTTP 等)時不發送 Referrer 信息。這個規則是現在大部分瀏覽器默認所采用的;

Origin Only:發送只包含 host 部分的 Referrer。啟用這個規則,無論是否發生協議降級,無論是本站鏈接還是站外鏈接,都會發送 Referrer 信息,但是只包含協議 + host 部分(不包含具體的路徑及參數等信息);

Origin When Cross-origin:僅在發生跨域訪問時發送只包含 host 的 Referrer,同域下還是完整的。它與 Origin Only 的區別是多判斷了是否 Cross-origin。需要註意的是協議、域名和端口都一致,才會被瀏覽器認為是同域;

Unsafe URL:無論是否發生協議降級,無論是本站鏈接還是站外鏈接,統統都發送 Referrer 信息。正如其名,這是最寬松而最不安全的策略;

2、Response Headers:

access-control-allow-origin:*

##是HTML5中定義的一種解決資源跨域的策略,通過服務器端返回帶有Access-Control-Allow-Origin標識的Response header,用來解決資源的跨域權限問題。

age:1449207

##當代理服務器用自己緩存的實體去響應請求時,用該頭部表明該實體從產生到現在經過多長時間了

cache-control:max-age=31536000

##指定請求和響應遵循的緩存機制。在請求消息或響應消息中設置Cache-Control並不會修改另一個消息處理過程中的緩存處理過程。請求時的緩存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,響應消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。網頁的緩存通過HTTP消息頭中的“Cache-control”來控制,常見的取值有private、no-cache、max-age、must-revalidate等,默認為private。

各個消息中的指令含義如下:
  Public指示響應可被任何緩存區緩存。
  Private指示對於單個用戶的整個或部分響應消息,不能被共享緩存處理。這允許服務器僅僅描述當用戶的部分響應消息,此響應消息對於其他用戶的請求無效。
  no-cache指示請求或響應消息不能緩存
  no-store用於防止重要的信息被無意的發布。在請求消息中發送將使得請求和響應消息都不使用緩存。
  max-age指示客戶機可以接收生存期不大於指定時間(以秒為單位)的響應。
  min-fresh指示客戶機可以接收響應時間小於當前時間加上指定時間的響應。
  max-stale指示客戶機可以接收超出超時期間的響應消息。如果指定max-stale消息的值,那麽客戶機可以接收超出超時期指定值之內的響應消息。

content-length:31448

##表示內容長度,用於描述HTTP消息實體的傳輸長度the transfer-length of the message-body,如果head中有Content-Length,那麽這個Content-Length既表示實體長度,又表示傳輸長度。如果實體長度和傳輸長度不相等(比如說設置了Transfer-Encoding),那麽則不能設置Content-Length。如果設置了Transfer-Encoding,那麽Content-Length將被忽視。

content-type:image/gif

## MediaType,即是Internet Media Type,互聯網媒體類型;也叫做MIME

型,在Http協議消息頭中,使用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頭域表示消息發送的時間,時間的描述格式由rfc822定義。

eagleid:7169dea815056348519994986e

##請求變量的實體標簽的當前值

expires:Fri, 31 Aug 2018 13:20:44 GMT

##響應過期的日期和時間

last-modified:Wed, 30 Aug 2017 01:19:14 GMT

##請求資源的最後修改時間

server:Tengine

##web服務器軟件名稱

status:200

##狀態碼

timing-allow-origin:*

##如果使用 CDN的話,需要讓 CDN 服務商加上 Timing-Allow-Origin 的響應頭,才能拿到靜態資源的數據。

via:cache22.l2cn62[0,200-0,H],cache40.l2cn62[1,0], cache1.cn223[0,200-0,H], cache8.cn223[1,0]

##列出從客戶端到 OCS 或者相反方向的響應經過了哪些代理服務器,他們用什麽協議(和版本)發送的請求。

當客戶端請求到達第一個代理服務器時,該服務器會在自己發出的請求裏面添加 Via 頭部,並填上自己的相關信息,當下一個代理服務器 收到第一個代理服務器的請求時,會在自己發出的請求裏面復制前一個代理服務器的請求的Via頭部,並把自己的相關信息加到後面,以此類推,當 OCS 收到最後一個代理服務器的請求時,檢查 Via 頭部,就知道該請求所經過的路由

x-cache:HIT TCP_MEM_HIT dirn:2:356748237

##反向代理服務器使用的 HTTP 頭部

x-swift-cachetime:30545095

##指明使用的具體熱點緩存技術

x-swift-savetime:Tue, 12 Sep 2017 00:35:49 GMT

##表示什麽時間點緩存住該資源的

3、equest Headers:

Provisional headers are shown

Referer:https://www.taobao.com/

##表示瀏覽器所訪問的前一個頁面,可以認為是之前訪問頁面的鏈接將瀏覽器帶到了當前頁面

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

##瀏覽器的身份標識字符串


http頭部信息詳解