成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五分鐘帶你了解 HTTP 代理

網(wǎng)絡 通信技術(shù)
代理通常位于服務器和客戶端之間,扮演一種中間人的角色,在各個點之間傳遞 HTTP 報文,如果沒有代理,HTTP 客戶端就要和 HTTP 服務器進行直接對話。

[[429696]]

"如果你有任何疑問和不滿,請和我的代理人去說",我們經(jīng)常會聽到某某明星又爆出什么猛料,結(jié)果都是當事人不解釋,倒是由代理或者工作室來解釋一大堆有的沒的。

他們好像是明星的另一張嘴,替代明星完成他們自己無法完成或者不愿意完成的工作。

這里的代理是現(xiàn)實生活中的實體,是實實在在存在的人。

而在互聯(lián)網(wǎng)中,也存在著一種實體,來替代網(wǎng)絡實體完成它所無法完成的工作,這種網(wǎng)絡實體叫服務器,不過它還有一種特殊的叫法:Web 代理(proxy)。

上面的網(wǎng)絡實體,其實就指的是客戶端和服務器。

代理通常位于服務器和客戶端之間,扮演一種中間人的角色,在各個點之間傳遞 HTTP 報文,如果沒有代理,HTTP 客戶端就要和 HTTP 服務器進行直接對話。

那么,為什么 HTTP 客戶端不直接和 HTTP 服務器進行對話,非要在中間加一層代理呢?它能起到什么作用呢?

首先,我們大家知道,有一些國外的網(wǎng)站在國內(nèi)是訪問不了的,但是假如我們就想訪問某同性交友網(wǎng)站改怎么辦呢?這里就需要使用代理了,它能夠突破自身 IP 限制,訪問國外站點。還有一些涉密公司會禁止訪問外網(wǎng),那要是查資料該怎么辦呢?使用代理。

其次,代理還能夠提升網(wǎng)絡帶寬,加快訪問速度,代理服務器會存儲一部分帶寬,而且代理服務器內(nèi)部會有一塊大的緩沖區(qū),當訪問了某些頁面后,代理服務器就會緩存這些頁面,等下次訪問相同頁面時,代理服務器會直接返回緩沖區(qū)緩沖之后的頁面,這樣代理服務器就會把帶寬省下來的同時提高訪問速度。

代理還會隱藏你主機的真實 IP,我們也可以通過這種方法免受網(wǎng)絡攻擊。

總的來說,代理的功能主要有下面幾點。

私有代理和公共代理

代理服務器可以為許多客戶端提供代理服務,同時代理也可以只是某個客戶端專用的。就像教父中的湯姆軍師只為柯里昂家族服務,而像是律師事務所的大部分律師是則面向公眾服務的。所以,依據(jù)職責的不同,單個客戶端專用的代理一般被稱為私有代理,而為大多數(shù)客戶端服務的代理被稱為公共代理。

公共代理

我們見到的大部分代理服務器都是公共代理,公共代理最大的特點就是共享,但是共享也意味著風險,一般不推薦使用這種代理,不過公共代理卻有他自己獨有的優(yōu)點:

  • 大部分公共代理都是免費的,這意味著你可以隨意白嫖(果然免費的才香)。
  • 能夠支持 HTTP 和 SOCKSv5 服務。

這里我們熟悉 HTTP 協(xié)議,那么 SOCKSv5 是個什么協(xié)議呢?我們后面會說到。

  • 如果你想要從 Internet 上收集數(shù)據(jù),那么公共代理對某些 SEO 很有用。

私有代理

專用的私有代理比較少見,但它們卻是存在,尤其是直接運行在客戶端計算機上的時候。私有代理是一個專用的 IP ,一次只能由一個客戶端使用。私有代理相比公共代理,也有一些獨特的優(yōu)勢。

  • 速度快,因為只有單個客戶端使用。
  • 足夠安全,無需擔心隱私被泄漏的風險。

不過,不論是公共代理還是私有代理,它們都有一個共同的特性,那就是既能扮演客戶端,接受響應報文,返回響應報文;也能扮演服務器,接受客戶端請求,處理客戶端請求。

所以,代理服務器分別扮演不同的職責,完全是根據(jù)你選擇的參照物來說明的。

我們大家知道,網(wǎng)關(guān)是一種網(wǎng)絡硬件設備或網(wǎng)絡節(jié)點,它是網(wǎng)絡的入口和出口點,因為所有數(shù)據(jù)在路由之前都必須通過網(wǎng)關(guān)或與網(wǎng)關(guān)通信。網(wǎng)關(guān)旨在將兩個不同的網(wǎng)絡連接在一起,允許用戶跨多個網(wǎng)絡進行通信。

上面這段描述中的網(wǎng)關(guān),圈重點,其實就扮演了一個代理的角色,它行使的功能就是幫助兩個異構(gòu)的網(wǎng)絡進行通信。

不過,雖然網(wǎng)關(guān)能起到代理的作用,但是網(wǎng)關(guān)和代理服務器確實完全不同的東西。

代理和網(wǎng)關(guān)最大的區(qū)別就是網(wǎng)關(guān)不會進行數(shù)據(jù)的過濾,網(wǎng)關(guān)不能阻止訪問某些網(wǎng)站,而代理服務器的功能卻有很多。

可以這么理解,網(wǎng)關(guān)就是沒有過濾功能的代理服務器。

這里不得不提另外一種網(wǎng)絡設備,那就是防火墻,防火墻能夠也能夠過濾數(shù)據(jù),進行安全性檢查。

嚴格來說,代理連接的是兩個或者多個使用相同協(xié)議的應用程序,依據(jù)不同的協(xié)議,代理可以分為很多種,不過我們常用的一般就下面三種代理方式。

  • HTTP 代理,是我們最常見到的一種代理方式,主要是代理瀏覽器進行訪問頁面。
  • SOCKS 代理,SOCKS 代理的正是 Socket,它支持多種協(xié)議,支持 HTTP 、FTP 等多種類型請求。它分SOCKS 4 和SOCKS 5兩種類型,SOCKS 4只支持 TCP 協(xié)議而 SOCKS 5支持 TCP/UDP 協(xié)議,還支持各種身份驗證機制等協(xié)議。
  • SSL 代理,SSL 代理也叫做 HTTPS 代理,為了保護敏感數(shù)據(jù)在互聯(lián)網(wǎng)傳送中的安全性,越來越多的網(wǎng)站都采用 SSL 加密形式發(fā)布。

這時候可能有讀者會說了,cxuan 你講了這么多東西,那到底網(wǎng)關(guān)能干啥呢?能舉幾個示例嗎?

來了來了。

代理服務器的作用

下面我通過幾個示例來給你解釋一下代理服務器都有哪些用途和作用:

網(wǎng)站過濾

這是我們上面一直在講的,代理服務器能夠訪問一些網(wǎng)站,同時它也有過濾功能,禁止一些網(wǎng)站的訪問。

文檔訪問控制

可以使用代理服務器在大量的 web 服務器和 web 資源之間實現(xiàn)統(tǒng)一的訪問控制,通常用在大型企業(yè)或者分布式機構(gòu)中。比如下面是三種擁有不同訪問控制權(quán)限的客戶端。

  • 客戶端 A 可以無限制的訪問服務器 A 中的指定頁面。
  • 客戶端 B 可以無限制的直接訪問互聯(lián)網(wǎng)。
  • 客戶端 C 在訪問服務器 C 的加密數(shù)據(jù)之前需要輸入密碼或者憑證。

安全防火墻

代理服務器也可以充當防火墻的角色,用于限制/過濾數(shù)據(jù)的流入和流出,進行安全性檢查等。

Web 緩存

代理緩存能夠維護常用網(wǎng)站的本地副本,以便減少緩慢而且昂貴的因特網(wǎng)通信開銷。

反向代理

代理除了能夠假扮客戶端之外,它還能夠假扮服務器,這種方式被稱為反向代理。但是對于客戶端而言,反向代理服務器就相當于目標服務器,這也就是說客戶端直接訪問代理服務器就能夠直接獲得目標服務器的資源。

可以使用反向代理來提高訪問龜速 Web 服務器上公共內(nèi)容時的性能。在這種配置中,通常將這些反向代理稱為服務器加速。

轉(zhuǎn)碼器

代理服務器在將內(nèi)容發(fā)送給客戶端之前,修改內(nèi)容的主體格式,這種對數(shù)據(jù)格式進行修改的方式就被稱為轉(zhuǎn)碼。

轉(zhuǎn)碼代理可以在傳輸 GIF 圖片時,將其轉(zhuǎn)換為 JPEG 圖片,用于減小圖片的傳輸大小,也可以對其進行壓縮等。

匿名者

匿名者顧名思義就是代理服務器隱藏客戶端特征,匿名者代理會從 HTTP 報文中刪除身份特征,比如客戶端的 IP 地址、From 首部、Referer 首部、cookie、URI 的會話 ID,提高私密性和安全性。

代理其實也像 DNS 一樣,具有層次結(jié)構(gòu),只不過 DNS 層次結(jié)構(gòu)中上下級之間都是 DNS 服務器,而代理層次結(jié)構(gòu)把上下級都換成了代理服務器。

代理的層次結(jié)構(gòu)

在代理的層次結(jié)構(gòu)中,會將報文在代理之間傳遞,一直傳遞到最終的服務器,然后再將響應報文通過代理傳回給客戶端,例如下圖是一個反向代理的層次結(jié)構(gòu)。

代理層次結(jié)構(gòu)中的代理服務器被賦予了父和子的關(guān)系,靠近服務器的被稱為父代理,靠近客戶端的被稱為子代理。

這是一種靜態(tài)的代理層次結(jié)構(gòu),靜態(tài)意味著這個在這個層次結(jié)構(gòu)中,代理 1 總是會將報文轉(zhuǎn)發(fā)給代理 2 ,而代理 2 總是會將報文轉(zhuǎn)發(fā)給代理 3。

但是,代理的層次結(jié)構(gòu)卻不一定非得是靜態(tài)的,這也就是說,在代理層次結(jié)構(gòu)中,父代理和子代理都是可以改變的,下面是幾個可以動態(tài)選擇代理的方式:

  • 負載均衡:子代理可以根據(jù)當前父代理的工作負載級別來選擇父代理。
  • 地理位置鄰近選擇:當然也可以根據(jù)地理位置的臨近情況來選擇父代理。
  • 根據(jù)協(xié)議和類型來選擇:子代理會根據(jù) URI 將報文轉(zhuǎn)發(fā)到不同的父代理或者原始服務器上去。

客戶端的代理設置

客戶端的代理設置主要有下面四種:

  • 手動設置
  • 預先配置瀏覽器代理,瀏覽器廠商會在客戶端獲取瀏覽器之前預先對代理進行配置
  • 自動配置代理,通過提供一個 URI,指向一個用 JS 寫的代理自動配置文件;客戶端會取回這個 JS 文件,并運行它以決定是否應該使用代理
  • WPAD 代理發(fā)現(xiàn),有些瀏覽器支持 WPAD 代理自動發(fā)現(xiàn)協(xié)議,這個協(xié)議會自動檢測出瀏覽器可以從哪個配置服務器下載到一個自動配置文件。

總結(jié)

這篇文章內(nèi)容不是很多,而且也不是很復雜,適合當?shù)罔F或者飯后讀物,五分鐘大概就能吸收文章中的內(nèi)容。

本文轉(zhuǎn)載自微信公眾號「程序員cxuan」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系程序員cxuan公眾號。

 

責任編輯:武曉燕 來源: 程序員cxuan
相關(guān)推薦

2020-02-19 19:26:27

K8S開源平臺容器技術(shù)

2024-08-13 11:13:18

2025-03-13 06:22:59

2020-10-13 18:22:58

DevOps工具開發(fā)

2020-09-14 11:30:26

HTTP3運維互聯(lián)網(wǎng)

2009-11-05 14:53:54

Visual Stud

2022-12-16 09:55:50

網(wǎng)絡架構(gòu)OSI

2023-09-07 23:52:50

Flink代碼

2025-01-24 08:38:47

2024-06-25 12:25:12

LangChain路由鏈

2023-07-16 18:49:42

HTTP網(wǎng)絡

2024-11-07 16:09:53

2020-03-08 16:45:58

數(shù)據(jù)挖掘學習數(shù)據(jù)量

2021-01-06 05:23:15

ServiceMesh網(wǎng)絡阿帕網(wǎng)

2009-11-06 10:25:34

WCF元數(shù)據(jù)交換

2024-09-23 17:05:44

2009-10-26 15:45:43

VB.NET類構(gòu)造

2020-05-12 09:10:24

瀏覽器服務器網(wǎng)絡

2020-04-01 16:30:32

TCP互聯(lián)網(wǎng)Linux

2021-01-13 09:23:23

優(yōu)先隊列React二叉堆
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美久久久久久 | 黄色av免费网站 | 亚洲精品大全 | 久久i| 9久久婷婷国产综合精品性色 | 国产在线观看网站 | 久久久高清 | 午夜精品久久久久久不卡欧美一级 | 日韩一区二区久久 | 午夜小影院 | 久久免费观看一级毛片 | 日本久久www成人免 成人久久久久 | 国产精品视频久久 | 欧美久久视频 | 91精品国产91久久久久久密臀 | 九九热最新地址 | 亚洲网站在线播放 | 一区二区三区精品 | 天天天操天天天干 | 亚洲一区视频 | 精品久久久久久亚洲综合网 | 欧美 日韩 国产 一区 | 天天色图| 精品国产乱码一区二区三区a | 国产一区二区在线视频 | caoporn免费在线视频 | 色婷婷综合成人av | 久久精品一区 | 一区二区三区四区国产 | 国产高潮好爽受不了了夜色 | 一级黄色片美国 | 999国产精品视频 | 国产精品国产馆在线真实露脸 | 日韩影院在线观看 | 欧美在线一区视频 | 欧美一区二区三区免费电影 | 中文字幕av色 | 一区二区三区欧美在线 | 亚洲人一区 | 久久高清 | 国产美女一区 |