學習筆記--HTTP-字段總結(四)-與代理相關的字段總結

目錄

一、代理

1、定義

2、相關字段

1)Via

2)X-Forwarded-For

3)X-Real-IP

3、簡述代理協議

二、緩存代理

1、相關字段

1)源服務器的緩存控制

2)客戶端的緩存控制

3)其他字段


一、代理

1、定義

處於通信鏈路的中間位置,轉發上下游的請求和響應,具有雙重身份。

2、相關字段

1)Via

通用字段,請求、響應頭都可以出現

每當報文經過一個代理節點,代理服務器就會把自身的信息(主機名或域名)加載到字段末尾。

示例:

Via: proxy1,proxy2

表示報文在通信鏈路傳輸經過了proxy1,proxy2兩個代理

2)X-Forwarded-For

每當經過一個節點,就將請求方的IP地址追加到後面。(注意與Via的區別)

所以,字段的最左邊的IP地址就是客戶端的地址。

3)X-Real-IP

只記錄客戶端IP地址,沒有中間的代理信息。

3、簡述代理協議

示例:

PROXY         TCP4              1.1.1.1                   2.2.2.2                       5555                       80                      \r\n

協議名        TCP版本         請求方IP              應答方IP            請求方端口號           應答方端口號

作用:

能在不改動原始報文的情況下傳遞客戶端的真實IP。

二、緩存代理

1、相關字段

1)源服務器的緩存控制

在Cache-control(上篇博文有總結)的基礎上,新增了一些屬性。

1.private 和 public 屬性 :區分了客戶端上的緩存和代理上的緩存

private:只能在客戶端保存,不能再代理上與人共享。

public:緩存完全開放。

2.proxy-revalidate:要求代理緩存過期後必須驗證,但是向代理服務器驗證即可。

注意:區分must-revalidate -> 必須回源服務器驗證。

3.S-maxage: 在代理上能存放多久。

注意:客戶端仍然使用"max-age".

4.no-transform:代理專用。

不允許代理對花奴才能數據進行處理。

注意:源服務器設置完Cache-Control後必須加上"Last-Modified" 或 "ETag" 字段。

2)客戶端的緩存控制

在Cache-control(上篇博文有總結)的基礎上,新增了一些屬性。

1.max-stale:可接受代理已過期的緩存,但不能過期太久,超過x秒就不要。

2.min-fresh:要求緩存必須有效,而且必須在x秒之後還有效。

示例:

max-age=5,max-stale=2

表示過期2秒內仍然有效。

max-age=10,min-fresh=1

若此時已過5秒,則5+1 < 10,該緩存仍然有效。

3.Only-If-Cached:只接受代理緩存的數據,不接受源服務器的響應。

3)其他字段

Purge : 緩存清理

可以自定義 PURGE的請求方法,刪除緩存數據。


參考資料:

1.《HTTP權威指南》

2.極客時間-《透視HTTP協議》專欄-羅劍鋒

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章