日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是HTTP代理?

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是HTTP代理? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么需要使用HTTP代理?

既然你都來到這兒了,相信你肯定是在寫爬蟲。

如果你所爬的網站不愿意讓你采集數據,那么在后端程序員眼中,能夠作為判斷依據的,都有哪些數據呢?

  • IP協議:客戶端IP地址、端口號

  • HTTP協議:X-Forward-For頭、User-Agent頭、Referer、URL、URL參數

從某種角度上說,沒有什么數據是無法偽造的但偽造數據是有成本的。爬蟲和反爬與其說是在技術上做對抗,不如說是在成本上做對抗

這些數據哪個偽造成本是最高的? IP地址。

為什么IP地址難以偽造?

首先,對于IP協議層,IP地址是可以偽造的,只需要在發包的時候修改源IP就可以了。

這也是SYN-Flood DDoS攻擊時,攻擊方經常采取的策略。

可是與UDP協議不同,HTTP協議所依賴的TCP協議是需要雙向通信的

想象一下,你寫信填寫一個假的發件人地址,對方收到這個信之后,通過你的發件人地址來回信,那么你肯定無法接到回信。

無法建立雙向通信, 就無法建立TCP連接,也就無法產生一個有效的HTTP請求。

什么是HTTP代理?

既然IP地址無法偽造,那么我是否可以利用中間人轉發的方式隱藏我的真實IP來源?

當然可以。

讓我們想象一下,假設你的女朋友因為生氣不理你了,拉黑了你的微信,那你怎么向他認錯?

你肯定不假思索的說,當然是通過她的閨蜜幫你轉達啦。

那在爬蟲系統中,HTTP代理所起的作用,和閨蜜的作用是一樣的。

它的原理說起來簡單的不能再簡單:接受你的HTTP請求,再把你的HTTP請求發送出去,那么在被爬網站看來,這個請求不是你發出的,而是代理服務器發出的。

這就好比,你生氣的女朋友會拉黑你,但是她不會拉黑她的閨蜜,所以你的信息可以兜兜轉轉發給你的女朋友,是一樣一樣的。

HTTP代理的協議是否有標準?

HTTP代理的定義早在HTTP協議設計之初,就已經被大佬們考慮在內了。

根據IETF協會的RFC7230 2.3節,代理的定義有以下三種

  • 代理(Proxy)

????????一種由客戶端選擇的報文轉發代理(message-forwarding agent)。按照一定規則讓請求通過同一個中轉。

  • 網關(Gateway)

????????又稱為反向代理(Reverse Proxy)。對于出站連接來說,網關就像是源服務器。經常被用于攔截不被信任的服務、提高服務器性能、負載均衡等等。

  • 隧道(Tunnel)

????????通常被用于建立一條虛擬的連接。通過這條連接的報文不會發生變化。

  • 透明代理(Transparent Proxy)

????????不是由客戶端選擇的代理。例如在路由器上建立代理,電腦的瀏覽器感知不到這個代理。

在HTTP代理的類型中,我們實現了哪種代理?

我們實現了代理(Proxy)和隧道(Tunnel)。

其中,代理(Proxy)用來實現HTTP協議轉發,隧道(Tunnel)用來實現HTTPS協議的轉發。

為什么需要有兩種方式轉發HTTP協議和HTTPS協議?

我們將會在未來的文章(HTTP代理的安全性問題)中詳細說明。

結論

在這篇文章中,我們詳細解釋了為什么需要使用HTTP代理的原因、什么是HTTP代理和HTTP代理的工作原理。在1997年定義的HTTP代理協議,截止到2022年,仍然是最流行的IP地址隱藏方式,因為它在設計之初就已經考慮得十分周全,它還將繼續在爬蟲系統中扮演重要角色。

最后說一下隊友寫的2808Proxy使用Golang實現了完整的HTTP代理協議,在我們的實際測試中,它可以在帶寬允許的情況下穩定地實現單機百萬并發,為爬蟲系統提供了堅實保障。

總結

以上是生活随笔為你收集整理的什么是HTTP代理?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。