鏈接地址:http://z00w00.blog.51cto.com/515114/1031287
1、正向代理:

所謂的正向代理就是代理服務器Z代替客戶端A去訪問目標服務器B。正向代理的作用有:訪問本機無法訪問的服務器(如翻牆服務)、加速訪問服務器B(縮短路徑)、Cache作用、客戶端訪問授權、隱藏訪問者的行蹤(肉雞)等。
2、反向代理:

和正向代理相反,反向代理Z對於客戶端A而言就像是原始服務器,並且客戶端不需要做特殊設置。客戶端向反向代理服務器發送普通請求,接着反向代理服務器將判斷向何處轉交請求,並將獲得的內容返回給客戶端,(Session是哪兩者之間建立?應該是代理和客戶端吧!)。負載均衡是應用了反向代理,使用反向代理集群式去應答不同的用戶。反向代理的作用:集群式部署實現負載均衡、CDN技術、前端服務器、Ngix等。
3、透明代理:

透明代理的意思是客戶端根本不需要知道代理服務器的存在,他可以攔截TCP/IP層數據流量,可以改變HTTP請求報文,並會傳送真實的IP地址。如圖所示,用戶A和用戶B不知道行為管理服務器的存在,當用戶A和用戶B向服務器A或B提交請求的時候,透明代理設備根據自身的策略攔截並修改用戶A或B的報文,並作為實際的請求方,向服務器A或B發送請求,當接收響應回傳,透明代理再根據自身的設置把允許的報文發回至用戶A或B。如果透明代理設置不允許訪問服務器B,那么A和B就不會得到服務器B的數據。
緩存污染攻擊:
透明代理可能導致緩存污染攻擊。代理服務器可以看到攔截的請求里目標端IP和主機頭HOST信息,但沒有辦法立刻確認要連接的目標IP是否真的和HOST里設定的服務器名稱相匹配。除非額外先做一次查詢,確定兩者是否真的有關,否則兩邊串通一氣的客戶端和服務器端就有機可乘了。如果不做額外的檢查,攻擊者只需要請求連接自己家中的服務器,但發送的是一個故意誤導代理的HOST請求頭www.google.com,這樣其他的確想訪問www.google.com的用戶,獲得的可能就是被錯誤緩存的響應內容了。
