HTTP プロキシは HTTP レベルでトラフィックを解釈するのに対し、SOCKS プロキシは TCP レベルでのみ接続を確立することを理解しています。したがって、SOCKS プロキシはあらゆる種類のプロトコルで機能しますが、HTTP プロキシは HTTP トラフィックのみを処理できます。しかし、なぜ Squid のような HTTP プロキシが IRC や FTP のようなプロトコルをサポートできるのでしょうか? IRC または FTP 接続に HTTP プロキシを使用すると、具体的に何が起こるのでしょうか? パッケージが HTTP プロトコル経由でプロキシに送信されるときに、パッケージに追加されるメタデータはありますか?
32616 次
2 に答える
16
HTTPプロキシは、主にHTTPS接続に使用されるCONNECTメソッドをサポートしている場合、HTTP以外の高レベルプロトコルをサポートできます。Squidwikiの説明は次のとおりです。
CONNECTメソッドは、HTTPプロキシを介してあらゆる種類の接続をトンネリングする方法です。デフォルトでは、プロキシは指定されたサーバーへのTCP接続を確立し、HTTP 200(Connection Established)応答で応答してから、トンネリングされたトラフィックを理解または解釈せずに、クライアントとサーバー間でパケットをシャベルでやり取りします。
クライアントソフトウェアが「HTTPCONNECT」対応(HTTPS)プロキシを介した接続をサポートしている場合、そのようなプロキシ(VPN、SSH、SQL、バージョン管理など)で動作できる任意の高レベルプロトコルにすることができます。
于 2013-02-27T10:58:09.127 に答える