代理伺服器
網路代理
代理(英語:Proxy)也稱網絡代理,是一種特殊的網絡服務,允許一個終端(一般為客戶端)通過這個服務與另一個終端(一般為服務器)進行非直接的連接。一些網關、路由器等網絡設備具備網絡代理功能。一般認為代理服務有利於保障網絡終端的私隱或安全,在一定程度上能夠阻止網絡攻擊。
提供代理服務的電腦系統或其它類型的網絡終端稱為代理服務器。一個完整的代理請求過程為:客戶端首先根據代理服務器所使用的代理協議,與代理服務器建立連接,接着按照協議請求對目標服務器建立連接、或者獲得目標服務器的指定資源(如:文件)。在後一種情況中,代理服務器可能對目標服務器的資源下載至本地緩存,如果客戶端所要獲取的資源在代理服務器的緩存之中,則代理服務器並不會向目標服務器發送請求,而是直接傳回已緩存的資源。一些代理協議允許代理服務器改變客戶端的原始請求、目標服務器的原始響應,以滿足代理協議的需要。
另外在部分實行網絡審查的國家(如中華人民共和國),可以通過使用代理服務器的方式以突破網絡審查(俗稱「翻牆」)
持有資源實體的服務器被稱為源服務器,從源服務器返回的響應經過代理服務器後再傳給客戶端。
代理協議
編輯Socks
編輯HTTP
編輯功能
編輯- 提高訪問速度
- 通常代理服務器都設置一個較大的緩衝區,當有外界的信息通過時,同時也將其保存到緩衝區中,當其他用戶再訪問相同的信息時, 則直接由緩衝區中取出信息,傳給用戶,以提高訪問速度。
- 控制對內部資源的訪問
- 如某大學FTP(前提是該代理地址在該資源的允許訪問範圍之內),使用教育網內地址段免費代理服務器,就可以用於對教育網開放的各類FTP下載上傳,以及各類資料查詢共享等服務。
- 過濾內容
- 例如限制對特定計算機的訪問,將一種語言的數據翻譯成另一種語言[需要解釋],或是防禦代理服務器兩邊的攻擊性訪問。
- 隱藏真實IP
- 上網者也可以通過代理服務器隱藏自己的IP,但是只有一個代理很難保證安全,更安全的方法是利用特定的工具建立代理鏈(如:Tor網路)。
- 突破網站的區域限制
- 通過代理服務器訪問Netflix、Google等對中國地區進行內容限制(如防火長城)的網站;非中國大陸用戶也可通過代理服務器訪問愛奇藝等版權僅授予中國大陸地區的網站。
- 突破網絡審查,訪問被過濾網站
- 如防火長城對中國境內互聯網存取的限制可透過使用代理服務器繞過。(俗稱「翻牆」、「科學上網」等)
種類
編輯根據協議區分
編輯- RTSP代理
- 主要用於Real Player訪問Real流媒體服務器,一般有緩存功能。端口一般為554。
- Telnet代理
- 主要用於Telnet遠程控制(黑客入侵計算機時常用於隱藏身份)。端口一般為23。
- SOCKS代理
- 只是單純傳遞數據包,不關心具體協議和用法,所以速度快很多。端口一般為1080。
根據匿名程度區分
編輯- 高度匿名代理
- 高度匿名代理會將數據包原封不動的轉發,在服務端看來就好像真的是一個普通客戶端在訪問,而記錄的IP是代理服務器的IP。
- 普通匿名代理
- 普通匿名代理會在數據包上做一些改動,服務端上有可能發現這是個代理服務器,也有一定幾率追查到客戶端的真實IP。代理服務器通常會加入的HTTP頭有HTTP_VIA和HTTP_X_FORWARDED_FOR 。
- 透明代理
- 透明代理不但改動了數據包,還會告訴服務器客戶端的真實IP。這種代理除了能用緩存技術提高瀏覽速度,能用內容過濾提高安全性之外,並無其他顯著作用。(最常見的例子是:內網中的硬件防火牆)
- 間諜代理
- 間諜代理指組織或個人建立的,用於記錄使用者傳輸的數據,然後進行研究、監控等目的代理服務器。
反向代理服務器
編輯反向代理服務器架設在服務器端,通過緩衝經常被請求的頁面來緩解服務器(如Web服務器)的工作量。安裝反向代理服務器有幾個原因:
- 負載平衡
- 緩存靜態內容
- 壓縮數據
- 外網發布