fiddler請求報文的headers屬性詳解


fiddler請求報文的headers屬性詳解

headers的屬性包含以下幾部分。

(1)Cache頭域

在Cache頭域中,通常會出現以下屬性。

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: */ *
    通配符 * 代表任意類型。代表瀏覽器可以處理所有類型

  • Accept-Encoding
    瀏覽器聲明自己接收的語言。語言跟字符集的區別是:中文是語言,中文有多種字符集,如何big5、gb2312、gbk等

2. User-Agent

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

3. Accept-Charset

  • 瀏覽器聲明自己接收的字符集,如gb2312、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中提取出來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM