http-https代理服务器的代码实现
title: http/https代理服務器的代碼實現
date: 2019-12-22 16:57:42
dscription: 代碼實現一個http/https代理服務器的代碼實現
原文地址https://tomsworkspace.github.io/2019/12/22/http-https代理服務器的代碼實現/
http/https代理服務器的代碼實現
代理服務器工作原理
?代理服務器作為一種既是服務器又是客戶機的中間程序,主要用于轉發客戶系統的網絡訪問請求。但是,代理服務器不只是簡單地向真正的因特網服務器轉發請求,它還可以控制用戶的行為,對接收到的客戶請求進行決策,并根據過濾規則對用戶請求進行過濾。
?通過代理服務器,網絡管理員可以實現比用包過濾路由器更嚴格的安全策略。不同于使用通用的包過濾路由器來管理通過防火墻的因特網服務流向,代理服務器通過在網關上為每項需要的應用安裝專用的代碼(代理服務)來工作。如果網絡管理員沒有為某一特殊服務安裝代理服務代碼,該服務就不會被支持,也不會通過防火墻轉發相應的客戶請求。并且,這種代理服務器碼能被配置成僅支持某項服務的網絡管理員認為可以接受的那部分特征,而不支持其他的特征。
代理服務器主要功能
?代理服務器具有許多功能。對于我們個人用戶而言,通過代理上網,能讓我們訪問一些直接訪問會比較慢的網站,比如互聯網用戶訪問教育網的網站。對于單位而言,內部使用代理可以預先過濾一些病毒,保障上網的安全,還能有效地進行訪問控制、網速限制,上網監控等等。
?以下介紹代理服務器的基本功能:
(1)一個lP地址或Internet帳戶供多個用戶同時使用
?在目前情況下,IP地址是Internet中有限的寶貴資源,如果將這些IP地址僅僅用于單個的請求Internet訪問的用戶,不能不說是一種資源浪費。使用代理服務器可以做到通過一個IP同時向多個用戶提供Internet的訪問,對于通過電話撥號連通Internet的內部網絡,則可以實現利用一條電話線,一個modem和一個Internet帳戶,讓內部網絡上所有用戶同時訪問Internet,這樣就充分利用了IP地址資源。
(2)緩存功能,可以降低費用,提高速度
?安裝時,代理服務器會在硬盤上開出一塊磁盤空間作為緩存區,將代理用戶從Internet上接收的內容下載一份保存起來,當再有用戶訪問同樣內容時,就直接從緩存區傳送給用戶,而不再從Internet上尋找。代理服務器的這項功能可以大大地提高訪問速度,同時也降低了通信費用,是一項相當重要的功能。
(3)對內部網絡用戶進行權限和信息流量計費管理
?通過代理服務器,網管員在提供Internet服務時,可以容易地對內部網絡用戶進行訪問權限和信息流量計費的管理。網管員不但能夠做到只允許被授權的局域網用戶訪問Internet,還能夠控制這些用戶在哪些時間、使用哪臺計算機訪問哪些類型的Internet服務。對于已經獲準訪問的Internet的用戶,網管員還能夠按照多種方式進行信息流量的計費管理,如:按照個人計費、按照部門所屬計算機計費等,為網絡管理帶來了極大的方便。
(4)對進入內部網絡的Internet信息實施監控和過濾
?為了避免那些與業務無關的信息進入內部網絡浪費通信資費,各個機構對允許訪問的內容往往有一些相應的規定。通過代理服務器,網管員不但可以采取過濾的方法簡便地控制從Internet流入內部網絡的信息內容,還能對用戶訪問Internet的情況進行實時監控和建立監查日志存檔備查。
實現功能:
服務器端
?(1)在指定端口(例如 9080)接收來自客戶的 http/https 請求并且根據其中的 URL 地址訪問該地址所指向的 http/https 服務器(原服務器),接收服務器的響應報文,并將響應報文轉發給對應的客戶進行瀏覽。
?(2)支持日志功能,可以將用戶的訪問目標和內容記錄到指定的文件。
?(3)網站過濾:允許/不允許重點內容訪問某些網站
?(4)多級代理功能,可以指定上級代理服務器實現多級代理
客戶端
?實現設置IE代理的GUI界面
實現步驟
(1)客戶端界面通過修改注冊表實現代理設置
(2)代理服務器主線程等待客戶端連接。
(3)代理服務器接收客戶端發送的 TCP 請求報文,建立線程處理并解析 HTTP 頭部(method, url, host 等信息)。
(4)在建立的線程中建立服務器到目標地址的socket連接。
(5)開啟兩個線程來處理上行和下行的流量,只負責單純的轉發。
(6)客戶端(即瀏覽器)收到代理服務器返回的報文,解析并顯示。
代碼
idea java項目
總結
以上是生活随笔為你收集整理的http-https代理服务器的代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直接用TXT文档写HTML编码出现中文乱
- 下一篇: 海康威视实习(已完结)