實現IP代理服務器有三種方法:第一,在應用層實現,相當于應用網關,如Web代理服務器和Socks代理服務器。第二是在IP層或更低層實現HTTP代理,通過轉發數據包來完成HTTP代理功能。第三種是通過改變系統調用的方法來實現這一點,比如微軟的Winsock代理服務器。如果您的計算機上安裝了IP代理程序,該程序將自動修改系統調用。由于Web代理服務器是目前應用最廣泛的代理服務器,下面將主要介紹網絡IP代理服務器的實現原則。
Web代理服務器一般由兩部分組成:過濾器和應用程序。過濾器確定接收到的http請求是采用代理格式還是標準格式。如果是標準格式,則將其移交給本地WWW服務器進行處理。如果是代理格式,則將由代理應用程序處理。代理應用程序首先搜索代理緩沖區,如果數據存在并且有效,則從緩沖區中獲取數據。如果沒有,連接到遠程目標服務器并獲取數據。不管代理服務器是從緩存還是從Internet遠程服務器獲取數據,它都會根據HTTP協議使用端口80將信息返回給請求者。
在HTTP通信鏈中,客戶端和目標服務器之間通常有一些中轉代理服務器,提供對目標資源的中轉訪問。一個HTTP請求可能由多個代理服務器轉發,后一個服務器稱為前一個服務器的上游服務器。IP代理服務器根據用途和功能分為正向代理服務器、反向代理服務器和透明代理服務器。
轉發代理IP需要客戶端自己設置代理IP的地址。來自客戶端的每個請求都將直接發送到代理服務器,代理IP將請求目標資源。例如,為了訪問Internet,或者訪問一些被屏蔽的國外網站,防火墻中的局域網機器需要使用轉發代理IP。反向代理IP是在服務器端設置的,所以客戶端不需要做任何設置。
代理ip在因特網上接收連接請求,然后將請求轉發給內部網絡上的服務器,并將內部服務器的結果返回給客戶端。在這種情況下,IP代理服務器看起來像真正的服務器。透明的代理IP只能在網關上設置。用戶訪問互聯網的所有數據報都必須通過網關。