HTTP協議 (五) 代理

來源:互聯網
上載者:User

之前寫過一個篇 【HTTP協議詳解】 ,這次介紹Proxy 伺服器, Proxy 伺服器是HTTP協議中一個重要的組件, 發揮著重要的作用。 本文介紹一些HTTPProxy 伺服器的概念和工作原理

 

閱讀目錄

  1. 什麼是Proxy 伺服器
  2. Fiddler就是個典型的代理
  3. 代理作用一:翻牆
  4. 代理作用二:匿名訪問
  5. 代理作用三:通過代理上網
  6. 代理作用四:通過代理緩衝,加快上網速度
  7. 代理作用五:兒童過濾器
  8. IE代理設定:手動設定代理
  9. IE代理設定:使用自動設定指令碼(PAC)
  10. IE代理設定:自動探測設定(WPAD)
  11. 代理認證,407狀態代碼
  12. 使用Proxy 伺服器的安全問題
  13. 如何搭建Proxy 伺服器

 

什麼是Proxy 伺服器

Web代理(proxy)伺服器是網路的中間實體。 代理位於Web用戶端和Web伺服器之間,扮演“中間人”的角色。

HTTP的Proxy 伺服器即是Web伺服器又是Web用戶端。

 

 

Fiddler就是個典型的代理

Fiddler 是以代理web伺服器的形式工作的,它使用Proxy 位址:127.0.0.1, 連接埠:8888. 當Fiddler退出的時候它會自動登出代理,這樣就不會影響別的程式。

 

 

代理的作用一, 翻牆

很多人都喜歡用Facebook, 看youTube。但是我們在天朝,天朝有The Great of Wall(長城防火牆),屏蔽了這些好網站。  怎麼辦?   通過代理來跳牆,就可以訪問了。

自己去尋找Proxy 伺服器很麻煩, 一般都是用翻牆軟體來自動探索Proxy 伺服器的。

 

代理的作用二, 匿名訪問

經常聽新聞,說”某某某“在網路上發布文章,被跨省追緝了。   假如他使用匿名的Proxy 伺服器,就不容易暴露自己的身份了。 

httpProxy 伺服器的匿名性是指: HTTPProxy 伺服器通過刪除HTTP報文中的身份特性(比如用戶端的IP地址, 或cookie,或URI的會話ID), 從而對遠端伺服器隱藏原始使用者的IP地址以及其他細節。 同時HTTPProxy 伺服器上也不會記錄原始使用者訪問記錄的log(否則也會被查到)。

 

代理的作用三, 通過代理上網

比如區域網路不能上網, 只能通過區域網路內的一台Proxy 伺服器上網。

 

代理的作用四, 通過代理緩衝,加快上網速度

大部分Proxy 伺服器都具有緩衝的功能,就好像一個大的cache, 它有很大的儲存空間,它不斷將新取得資料存放區到它本地的儲存空間上, 如果瀏覽器所請求的資料在它原生儲存空間上已經存在而且是最新的,那麼它就不重新從Web伺服器取資料,而直接將儲存空間上的資料傳給使用者的瀏覽器,這樣就能顯著提高瀏覽速度。

代理的作用五:兒童過濾器

很多教育機構, 會利用過濾器代理來阻止學生訪問成人內容。

 

IE代理設定:手動設定代理

IE瀏覽器可以手動設定代理, 很簡單,指定一個IP地址和連接埠就可以了。 如。

工具 -> Internet選項 -> 串連 -> 區域網路設定 (快速鍵)

假如Proxy 伺服器的IP地址改變了,或者連接埠號碼改變了。 難道要幾百個用戶端的瀏覽器去修改瀏覽器設定? Impossable  這太難維護了。  下面還有一種更進階點的方法。

IE代理設定:使用自動設定指令碼(PAC)

 手動設定代理很簡單,但是不靈活。 只能指定一個Proxy 伺服器,而且不支援容錯移轉。 

在大公司裡一般都使用PAC檔案來配置。只需要指定PAC檔案的URL就可以了,

PAC(Proxy Auto Config)檔案是一個小型的JavaScript程式的文字檔,尾碼為.dat。 

當瀏覽器訪問網路的時候,會根據PAC檔案中的JavaScript函數來選擇恰當的Proxy 伺服器。

sample_pac.dat檔案的內容

function FindProxyForURL(url, host) {    if (url.substring(0, 5) == "http:") {        // 應該使用指定的代理        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 {        // 直連,不經過任何代理        return "DIRECT";    }}

 

 

IE代理設定:自動探測設定(WPAD)

 瀏覽器只要選中“自動檢測設定”, 就可以使用WPAD協議, WPAD會自動找到PAC檔案的URL。  WPAD會使用一系列的資摘要搜索技術(DHCP,DNS等)去尋找PAC檔案。

 

代理認證,和407狀態代碼

Proxy 伺服器也可以需要許可權認證, HTTP定義了一種名為代理認證(Proxy authentication)的機制。 這種機制可以阻止對內容的請求。

當瀏覽器訪問需要認證的代理時, Proxy 伺服器會返回407 Authorization Required,告訴瀏覽器輸入使用者名稱和密碼。

代理認證跟HTTP基本認證是一樣的機制, 如需瞭解代理認證的機制,請看[HTTP協議基本認證]

 

使用Proxy 伺服器的安全問題

Proxy 伺服器和抓包工具(比如Fiddler)都能看到http request中的資料。 如果我們發送的request中有敏感性資料,比如使用者名稱,密碼,信用卡號碼。這些資訊都會被Proxy 伺服器看到。所以非常危險。 所以我們一般都是用HTTPS來加密Http request.  這樣Proxy 伺服器就看不到裡面的資料了。

 

如何搭建Proxy 伺服器

可以使用CCproxy, 和Squid 來搭建Proxy 伺服器。

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.