fiddler請求報文的headers屬性詳解

fiddler請求報文的headers屬性詳解

headers的屬性包含如下幾部分。html

(1)Cache頭域

在Cache頭域中,一般會出現如下屬性。json

1. Cache-Control

用來指定Response-Request遵循的緩存機制。各個指令以下含義。瀏覽器

  • Cache-Control:Public:能夠被任何緩存所緩存。
  • Cache-Control:Private:指示響應信息的所有或部分用於單個用戶,而不能用一個共享緩存來緩存。這可讓源服務器指示,響應的特定部分只用於一個用戶,而對其餘用戶的請求則是一個不可靠的響應。
  • Cache-Control:no-cache:全部的內容都不會被緩存,請求頭裏的no-cache表示瀏覽器不想讀緩存,並非說沒有緩存。通常在瀏覽器按Ctrl+F5鍵強制刷新時,請求頭裏也會有這個no-cache,也就是跳過強緩存和協商緩存階段,直接請求服務器。
  • Cache-Control:max-age=0:指示客戶端願意接收其絕對時間不大於指定的時間,以秒計。若是直接按F5鍵的話,請求頭是max-age=0,只跳過強緩存,但進行協商緩存。

2. If-Modified-Since

  • 把瀏覽器端緩存頁面的最後修改時間發送到服務器去,服務器會把這個時間與服務器上實際文件的最後修改時間進行對比。若是時間一致,那麼會返回304,客戶端就直接使用本地緩存文件。若是時間不一致,就會返回200和新的文件內容。客戶端接到以後,會丟棄舊文件,把新文件緩存起來,並顯示在瀏覽器中。
    本地文件的修改時間和服務器上的文件時間修改時間一致,說明文件沒有被更新。HTTP服務器返回304,告訴客戶端使用本地緩存文件

3. If-None-Match

  • If-None-Match和ETag一塊兒工做,工做原理是在HTTPresponse中添加ETag信息。當用戶再次請求該資源時,將在HTTP request中假如 If-None-Match信息(ETag的值)。若是服務器驗證資源的ETag沒有改變(該資源沒有更新),將返回200狀態和新的資源和ETag。使用這樣的機制將提升網站的性能
    ** If-None-Match和ETag的值一致,說明文件沒有被更新。服務器將返回304,告訴客戶端使用本地緩存文件**

4. Pragma

  • 防止頁面被緩存,在HTTP/1.1版本中,它和Cache-Control:no-cache的做用如出一轍。
    Prama只有一個用法,例如,Pragma:no-cache。

(2)Client頭域

1. Accept

瀏覽器端能夠接收的媒體類型。緩存

  • Accept: text/html
    表明瀏覽器能夠接收服務器發回的類型爲text/html也就是咱們常說的HTML文檔,若是服務器沒法返回text/html類型的數據,服務器應該返回一個406錯誤(non acceptable)。服務器

  • Accept: */ *
    通配符 * 表明任意類型。表明瀏覽器能夠處理全部類型app

  • Accept-Encoding
    瀏覽器聲明本身接收的語言。語言跟字符集的區別是:中文是語言,中文有多種字符集,如何big五、gb23十二、gbk等性能

2. User-Agent

  • 告訴HTTP服務器客戶端使用的操做系統和瀏覽器的名稱和版本。咱們上網登錄論壇的時候,每每會看到一些歡迎信息,其中列出了你的操做系統的名字和版本、你所使用的瀏覽器的名稱和版本,這每每讓不少人感到很神奇,實際上,服務器應用程序就是從User-Agent這個請求報頭域中獲取到的這些信息。User-Agent請求報頭域容許客戶端將它的操做系統、瀏覽器和其餘屬性告訴服務器。

3. Accept-Charset

  • 瀏覽器聲明本身接收的字符集,如gb23十二、utg-8等。

(3) Cookie頭域

  • Cookie
    最重要的header,將Cookie的值發送給HTTP服務器。

(4) Miscellaneous頭域

  • Referer
  • 提供了request的上下文信息的服務器,告訴服務器我是從哪一個連接過來的。有些統計數據須要用到此頭域。好比從個人主頁上連接到統計服務器那裏,該服務器就可以從HTTP Referer中統計出天天有多少用戶點擊我主頁上的連接訪問他的網站。

(5) Entity頭域

1. Content-Length

  • 發送給HTTP服務器數據的長度。

2. Content-Type

  • 表示具體請求中的媒體類型信息。
    常見的媒體格式類型以下。
  • text/html: HTML格式
  • text/plain: 純文本格式
  • text/xml: XML格式
  • image/gif: gif圖片格式
  • image/jpeg: jpg圖片格式
  • image/png: png圖片格式
    以application開頭的媒體格式類型以下
  • application/xhtml+xml: XHTML格式
  • application/xml: XML數據格式
  • application/atom+xml: Atom XML聚合格式
  • application/json: JSON數據格式
  • application/pdf: pdf格式
  • application/msword: Word文檔格式
  • application/octet-stream: 二進制流數據
  • application/x-www-form-urlencoded: <form encType="">中默認的encType,form表單數據被編碼爲key/value格式發送到服務器(表單默認的提交數據的格式)。

3. multipart/form-data

  • 另一種常見的媒體格式是上傳文件之時使用的。
  • 須要在表單中進行文件上傳時,就須要使用該格式。

(6)Tranport頭域

Connection網站

  • Connection: keep-alive: 當一個網頁打開完成後,客戶端和服務器之間用戶傳輸HTTP數據的TCP鏈接不會關閉,若是客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經創建的鏈接。
  • Connection: close: 表明一個request完成後,客戶端和服務器之間用於傳輸HTTP數據的TCP鏈接會關閉,當客戶端再次發送request時,須要從新創建TCP鏈接。
    Host(發送請求時,該報頭域是必須的)
  • 請求報頭域主要用於指定被請求資源的Internet主機和端口號。它一般從HTTP URL中提取出來。
相關文章
相關標籤/搜索