http代理服務器的實現(xiàn)原理

1.代理服務器

代理服務器(Proxy Server)的功能是代理網(wǎng)絡用戶去取得網(wǎng)絡信息,它是網(wǎng)絡信息的中轉站,是個人網(wǎng)絡和Internet服務商之間的中間代理機構以躯,負責轉發(fā)網(wǎng)絡信息蟆盐。

代理服務器可以實現(xiàn)一下功能:
1.隱藏身份
2.充當防火墻
3.防止攻擊
4.權限控制

代理服務器按照其使用方式和作用,分為正向代理服務器室谚,反向代理服務器.


代理服務器的方式

1.1代理服務器的分類

(1) HTTP代理 :能夠代理客戶機的HTTP訪問毡鉴,主要是代理瀏覽器訪問網(wǎng)頁。

(2)FTP代理:能夠代理客戶機上的FTP軟件訪問FTP服務器秒赤。

(3)RTSP代理:代理客戶機上的Realplayer訪問Real流媒體服務器猪瞬。

(4)POP3代理:代理客戶機上的郵件軟件用POP3方式收發(fā)郵件。

(5)VPN代理:指在共用網(wǎng)絡上建立專用網(wǎng)絡的技術入篮。之所以稱為虛擬網(wǎng)主要是因為整個VPN網(wǎng)絡的任意兩個結點之間的

1.2.代理服務體現(xiàn)為網(wǎng)絡進程的通信

1.2.1本地進程間通信

本地進程間通信主要包括管道陈瘦、系統(tǒng)IPC(包括消息隊列、信號量潮售、信號痊项、共享內存等)锅风、以及套接字socket

1.2.2網(wǎng)絡進程通信方式

通信 : 通信協(xié)議 + 計算機網(wǎng)絡

計算機網(wǎng)絡結構

兩個應用進程之間進行通信發(fā)送報文需要經(jīng)過計算機網(wǎng)絡,而應用進程一般由開發(fā)者控制线婚,計算機網(wǎng)絡由操作系統(tǒng)控制遏弱,所以計算機應用把通信的報文傳給網(wǎng)絡是通過一個socket(套接字)的軟件接口來實現(xiàn),因此套接字也被稱為應用程序和網(wǎng)絡之間的應用程序編程接口塞弊。

網(wǎng)路進程的通信方式

2.HTTP正向代理

http代理方式如下圖漱逸,負責將http請求和響應進行轉發(fā)。


在這里插入圖片描述
2.1.用戶使用http代理

進程由ip地址和端口號來標識游沿,網(wǎng)絡的http代理提供方式都是諸如: ip地址:端口號 的方式饰抒,所以我們使用時也是在瀏覽器或者程序中設置ip和端口號就可以走網(wǎng)絡的http代理服務。

2.2.代理認證

代理認證:

前文提到代理服務器可以做到權限控制诀黍,即控制用戶使用相關資源袋坑。而網(wǎng)絡商的http代理服務器商也是使用代理認證的方式來區(qū)分是否客戶。

如何認證:
對于http代理的認證方式眯勾,分為basic認證和digest認證枣宫,目前主流都是使用basic認證,通過在http請求頭傳遞用戶名和密碼的base64加密字符串來實現(xiàn)認證吃环。

代理認證過程
2.3.http正向代理的實現(xiàn)
2.3.1.socket套接字編程具體原理

前面說到應用程序往網(wǎng)絡傳輸層傳遞報文是通過套接字編程來實現(xiàn)的也颤,所以http正向代理也是通過socket來實現(xiàn)的。

客戶端去訪問服務器時郁轻,服務器的進程應該確保已經(jīng)運行起來翅娶,服務器進程會啟動一個serverSocket(歡迎套接字),該套接字是所有客戶端與服務器接觸的起點好唯,隨后該套接字會生成一個新的套接字竭沫,稱為連接套接字,連接套接字負責和客戶端的套接字進行報文數(shù)據(jù)的交換,使用流的方式來傳輸骑篙。

套接字通信過程
網(wǎng)絡進程之間通信

圖片引自博客

2.3.2.http代理服務器實現(xiàn)邏輯
代理服務器實現(xiàn)邏輯
2.3.3.參考例子

開發(fā)一個http代理服務器
java實現(xiàn)的簡單http代理服務器
基于netty實現(xiàn)的代理服務
《計算機網(wǎng)絡 自定向下方法》第六版

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蜕提,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子靶端,更是在濱河造成了極大的恐慌谎势,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躲查,死亡現(xiàn)場離奇詭異它浅,居然都是意外死亡译柏,警方通過查閱死者的電腦和手機镣煮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鄙麦,“玉大人典唇,你說我怎么就攤上這事镊折。” “怎么了介衔?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵恨胚,是天一觀的道長。 經(jīng)常有香客問我炎咖,道長赃泡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任乘盼,我火速辦了婚禮升熊,結果婚禮上,老公的妹妹穿的比我還像新娘绸栅。我一直安慰自己级野,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布粹胯。 她就那樣靜靜地躺著蓖柔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪风纠。 梳的紋絲不亂的頭發(fā)上况鸣,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音议忽,去河邊找鬼懒闷。 笑死,一個胖子當著我的面吹牛栈幸,可吹牛的內容都是我干的愤估。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼速址,長吁一口氣:“原來是場噩夢啊……” “哼玩焰!你這毒婦竟也來了?” 一聲冷哼從身側響起芍锚,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤昔园,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后并炮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體默刚,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年逃魄,在試婚紗的時候發(fā)現(xiàn)自己被綠了荤西。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖邪锌,靈堂內的尸體忽然破棺而出勉躺,到底是詐尸還是另有隱情,我是刑警寧澤觅丰,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布饵溅,位于F島的核電站,受9級特大地震影響妇萄,放射性物質發(fā)生泄漏蜕企。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一冠句、第九天 我趴在偏房一處隱蔽的房頂上張望糖赔。 院中可真熱鬧,春花似錦轩端、人聲如沸放典。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奋构。三九已至,卻和暖如春拱层,著一層夾襖步出監(jiān)牢的瞬間弥臼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工根灯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留径缅,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓烙肺,卻偏偏與公主長得像纳猪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子桃笙,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容

  • 第一章 引言和網(wǎng)絡編程基礎知識 1.1 分別簡述OSI參考模型和TCP/IP模型氏堤,并闡述他們之間的對應關系 1.2...
    V0W閱讀 5,302評論 0 9
  • 文章首發(fā)于個人blog歡迎指正補充,可聯(lián)系lionsom_lin@qq.com原文地址:《網(wǎng)絡是怎樣連接的》閱讀整...
    lionsom_lin閱讀 14,124評論 6 31
  • 什么是Nginx搏明? Nginx是一個高性能的HTTP和反向代理服務器鼠锈,也是一個IMAP/POP3/SMTP服務器N...
    jiangmo閱讀 2,534評論 1 9
  • Web 頁面的實現(xiàn) Web 基于 HTTP 協(xié)議通信 客戶端(Client)的 Web 瀏覽器從 Web 服務器端...
    毛圈閱讀 1,077評論 0 2
  • 隨著年歲漸長,我漸漸懂得遇見對的人這件事蘊含了多么深厚的福澤星著。而平庸之輩如同你我购笆,大多都是薄福之人。 可我不甘心虚循。...
    一千朵太陽閱讀 176評論 0 0