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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?)

發布時間:2023/12/29 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTP/HTTPS/SOCKS 代理指的是客戶端連接代理服務器的協議,指客戶端和代理服務器之間交互的協議。

如服務器支持代理HTTP協議就叫HTTP代理服務器,支持代理SOCKS協議就叫SOCKS代理服務器。如代理服務器同時支持代理HTTP/SOCKS協議,則既可以叫HTTP代理服務器,也可以叫SOCKS服務器。

補充:SOCKS協議工作在比HTTP、HTTPS更低的層次,所以HTTP協議,HTTPS協議可以使用SOCKS代理(即HTTP、HTTPS協議和代理服務器之間可以采用SOCKS協議),但反過來,SOCKS協議就不能通過HTTP/HTTPS來代理了。

注意和IE瀏覽器中代理(即系統代理)設置是不一樣的概念!

這里IE的代理意思是,配置哪種協議走哪個代理服務器(注意并不是什么協議代理服務器,IE僅支持HTTP代理)。比如你這里配的是讓HTTP協議走HTTPS代理服務器(這里的HTTPS代理服務器指僅支持代理HTTPS,不支持代理其他協議如HTTP),那么HTTP協議將不能夠被代理成功。

其實,IE的代理設置都只支持HTTP代理的。上圖中無論怎么設置,都是使用HTTP協議直接轉發到對應的代理服務器,也就是代理服務器必須是支持代理HTTP協議的服務器(代理服務器支持其他協議比如HTTPS也是多余的,并不會使用HTTPS代理)。這里大家可能會有疑問,那HTTP代理服務器是如何可以代理HTTPS協議的呢?其實是用了HTTP隧道(HTTP tunnel)(感興趣請自己查閱相關資料),客戶端和HTTP代理服務器之間并沒有進行HTTPS的握手過程。

上面說了,IE代理僅支持HTTP代理,谷歌瀏覽器Chrome代理配置也只能是配置IE代理,也就是只能使用HTTP代理了。那比如我想使用HTTPS代理怎么辦(客戶端和HTTPS代理服務器之間采用HTTPS協議)?

可以使用插件Proxy SwithchyOmega:

“網址協議”就是IE代理設置里的“類型”,和IE代理相比,多了個“代理協議”選項,即什么協議走什么代理選項。

比如可配置HTTP/HTTPS協議走SOCKS5協議代理。其實這插件也是調用了chromium提供的接口(https://www.chromium.org/developers/design-documents/network-stack/socks-proxy):

可看出FTP協議通過SOCKS協議代理還沒有實現。。

最后說下ss/ ss(R)的原理:

ss的運行原理與其他代理工具基本相同,使用特定的中轉服務器完成數據傳輸。在服務器端部署完成后,用戶需要按照指定的密碼、加密方式和端口,使用客戶端軟件與其連接。在成功連接到服務器后,客戶端會在用戶的電腦上構建一個本地Socks5代理。瀏覽網絡時,網絡流量會被分到本地socks5代理,客戶端將其加密之后發送到服務器,服務器以同樣的加密方式將流量回傳給客戶端,以此實現代理上網。

有人會問,ss(R)是Socks5代理,但我上面說了IE代理(不安裝Proxy SwithchyOmega情況下)只支持HTTP代理,為什么也可以訪問google呢?

其實ss(R)默認在1080端口開啟了Socks5代理,但是它為了兼容HTTP代理模式,會使用ss_privoxy.exe開啟了一個HTTP代理(隨機端口,返回拒絕則默認8123端口)。

不僅如此,ss(R)在1080端口也支持HTTP代理。

我們知道,IE的代理設置是僅支持HTTP代理的。也正是因為ss(R)支持HTTP代理方式,才能使IE以及一些其他不支持Socks5代理(但支持HTTP代理)的軟件進行代理。

瀏覽器一般會自動啟用系統代理,而其它軟件則需要自身支持HTTP代理或Socks5代理,而且一般需要進行手動配置才可以進行代理。

補充:分別使用HTTP協議和SOCKS5協議訪問ss本地Windows客戶端情況(注:事先要下載curl小工具):

可看出,HTTPS協議使用HTTP代理是通過了HTTP隧道。

注:

socks5 和 socks5h 的區別僅用于 curl。在 curl中,socks5 會使用本地DNS,socks5h 會使用代理提供的遠程DNS。

在其它軟件中,socks5h 基本不起作用,使用 socks5 即可。一旦設置了代理,多數時候會采用遠程DNS。


可見,因為ss本地Windows客戶端(相當于本地代理服務器)不支持HTTPS協議,因此不會響應Client hello

總結

以上是生活随笔為你收集整理的HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?)的全部內容,希望文章能夠幫你解決所遇到的問題。

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