#HTTP协议学习# (七)代理
本文轉(zhuǎn)自:http://www.cnblogs.com/TankXiao/archive/2012/12/12/2794160.html 粉字部分為個(gè)人添加
?
本文介紹一些HTTP代理服務(wù)器的概念和工作原理
?
閱讀目錄
- 什么是代理服務(wù)器
- Fiddler就是個(gè)典型的代理
- 代理作用一:FQ
- 代理作用二:匿名訪問(wèn)
- 代理作用三:通過(guò)代理上網(wǎng)
- 代理作用四:通過(guò)代理緩存,加快上網(wǎng)速度
- 代理作用五:兒童過(guò)濾器
- IE代理設(shè)置:手動(dòng)設(shè)置代理
- IE代理設(shè)置:使用自動(dòng)配置腳本(PAC)
- IE代理設(shè)置:自動(dòng)探測(cè)設(shè)置(WPAD)
- 代理認(rèn)證,407狀態(tài)碼
- 使用代理服務(wù)器的安全問(wèn)題
- 如何搭建代理服務(wù)器
?
什么是代理服務(wù)器
Web代理(proxy)服務(wù)器是網(wǎng)絡(luò)的中間實(shí)體。 代理位于Web客戶端和Web服務(wù)器之間,扮演“中間人”的角色。
HTTP的代理服務(wù)器即是Web服務(wù)器又是Web客戶端。
?
?
Fiddler就是個(gè)典型的代理
Fiddler 是以代理web服務(wù)器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 當(dāng)Fiddler退出的時(shí)候它會(huì)自動(dòng)注銷(xiāo)代理,這樣就不會(huì)影響別的程序。
?
?
代理的作用一, FQ
很多人都喜歡用Facebook, 看youTube。但是我們?cè)谔斐?#xff0c;天朝有The Great of Wall(長(zhǎng)城防火墻),屏蔽了這些好網(wǎng)站。? 怎么辦??? 通過(guò)代理來(lái)跳墻,就可以訪問(wèn)了。
自己去尋找代理服務(wù)器很麻煩, 一般都是用FQ軟件來(lái)自動(dòng)發(fā)現(xiàn)代理服務(wù)器的。
?
代理的作用二, 匿名訪問(wèn)
經(jīng)常聽(tīng)新聞,說(shuō)”某某某“在網(wǎng)絡(luò)上發(fā)布帖子,被跨省追緝了。 ? 假如他使用匿名的代理服務(wù)器,就不容易暴露自己的身份了。?
http代理服務(wù)器的匿名性是指: HTTP代理服務(wù)器通過(guò)刪除HTTP報(bào)文中的身份特性(比如客戶端的IP地址, 或cookie,或URI的會(huì)話ID), 從而對(duì)遠(yuǎn)端服務(wù)器隱藏原始用戶的IP地址以及其他細(xì)節(jié)。?同時(shí)HTTP代理服務(wù)器上也不會(huì)記錄原始用戶訪問(wèn)記錄的log(否則也會(huì)被查到)。
?
代理的作用三, 通過(guò)代理上網(wǎng)
比如局域網(wǎng)不能上網(wǎng), 只能通過(guò)局域網(wǎng)內(nèi)的一臺(tái)代理服務(wù)器上網(wǎng)。
?
代理的作用四, 通過(guò)代理緩存,加快上網(wǎng)速度
大部分代理服務(wù)器都具有緩存的功能,就好像一個(gè)大的cache, 它有很大的存儲(chǔ)空間,它不斷將新取得數(shù)據(jù)存儲(chǔ)到它本地的存儲(chǔ)器上, 如果瀏覽器所請(qǐng)求的數(shù)據(jù)在它本機(jī)的存儲(chǔ)器上已經(jīng)存在而且是最新的,那么它就不重新從Web服務(wù)器取數(shù)據(jù),而直接將存儲(chǔ)器上的數(shù)據(jù)傳給用戶的瀏覽器,這樣就能顯著提高瀏覽速度。
代理的作用五:兒童過(guò)濾器
很多教育機(jī)構(gòu), 會(huì)利用過(guò)濾器代理來(lái)阻止學(xué)生訪問(wèn)成人內(nèi)容。
?
IE代理設(shè)置:手動(dòng)設(shè)置代理
IE瀏覽器可以手動(dòng)設(shè)置代理, 很簡(jiǎn)單,指定一個(gè)IP地址和端口就可以了。 如下圖。
工具 -> Internet選項(xiàng) -> 連接 -> 局域網(wǎng)設(shè)置 (快捷鍵)
假如代理服務(wù)器的IP地址改變了,或者端口號(hào)改變了。 難道要幾百個(gè)客戶端的瀏覽器去修改瀏覽器設(shè)置? Impossable? 這太難維護(hù)了。? 下面還有一種更高級(jí)點(diǎn)的方法。
IE代理設(shè)置:使用自動(dòng)配置腳本(PAC)
?手動(dòng)配置代理很簡(jiǎn)單,但是不靈活。 只能指定一個(gè)代理服務(wù)器,而且不支持故障轉(zhuǎn)移。?
在大公司里一般都使用PAC文件來(lái)配置。只需要指定PAC文件的URL就可以了, 如圖:
PAC(Proxy Auto Config)文件是一個(gè)小型的JavaScript程序的文本文件,后綴為.dat。?
當(dāng)瀏覽器訪問(wèn)網(wǎng)絡(luò)的時(shí)候,會(huì)根據(jù)PAC文件中的JavaScript函數(shù)來(lái)選擇恰當(dāng)?shù)拇矸?wù)器。
sample_pac.dat文件的內(nèi)容
function FindProxyForURL(url, host) {if (url.substring(0, 5) == "http:") {// 應(yīng)該使用指定的代理return "PROXY proxy:80";}else if (url.substring(0, 4) == "ftp:") {return "PROXY fproxy:80";}else if (url.substring(0, 7) == "gopher:") {return "PROXY gproxy";}else if (url.substring(0, 6) == "https:") {return "PROXY secproxy:8080";}else {// 直連,不經(jīng)過(guò)任何代理return "DIRECT";}
}
?
?
IE代理設(shè)置:自動(dòng)探測(cè)設(shè)置(WPAD)
?瀏覽器只要選中“自動(dòng)檢測(cè)設(shè)置”, 就可以使用WPAD協(xié)議, WPAD會(huì)自動(dòng)找到PAC文件的URL。? WPAD會(huì)使用一系列的資源發(fā)現(xiàn)技術(shù)(DHCP,DNS等)去尋找PAC文件。
?
代理認(rèn)證,和407狀態(tài)碼
代理服務(wù)器也可以需要權(quán)限認(rèn)證, HTTP定義了一種名為代理認(rèn)證(Proxy authentication)的機(jī)制。 這種機(jī)制可以阻止對(duì)內(nèi)容的請(qǐng)求。
當(dāng)瀏覽器訪問(wèn)需要認(rèn)證的代理時(shí), 代理服務(wù)器會(huì)返回407 Authorization Required,告訴瀏覽器輸入用戶名和密碼。
代理認(rèn)證跟HTTP基本認(rèn)證是一樣的機(jī)制, 如需了解代理認(rèn)證的機(jī)制,請(qǐng)看[HTTP協(xié)議基本認(rèn)證]
?
使用代理服務(wù)器的安全問(wèn)題
代理服務(wù)器和抓包工具(比如Fiddler)都能看到http request中的數(shù)據(jù)。 如果我們發(fā)送的request中有敏感數(shù)據(jù),比如用戶名,密碼,信用卡號(hào)碼。這些信息都會(huì)被代理服務(wù)器看到。所以非常危險(xiǎn)。 所以我們一般都是用HTTPS來(lái)加密Http request.? 這樣代理服務(wù)器就看不到里面的數(shù)據(jù)了。(why??)
?
如何搭建代理服務(wù)器
可以使用CCproxy, 和Squid 來(lái)搭建代理服務(wù)器。
總結(jié)
以上是生活随笔為你收集整理的#HTTP协议学习# (七)代理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CF750G New Year and
- 下一篇: CF896E Welcome home,