普通のHTTPプロキシとは何が違うのか...。
概要
・SOCKSプロキシとは、クライアントとサーバー間のネットワークパケットをプロキシサーバー経由で中継するプロトコル。
・最新のSOCKS5では、TCPストリームプロキシに加え、UDPパケットの転送もサポートする。ユーザー名/パスワードやGSSAPIなどの認証方式をオプションで利用出来る。
・多くの実装がIANA登録のTCPポート1080番で待機。
SOCKSとHTTPプロキシの主な違い
対応プロトコルレベル
SOCKSプロキシはOSI参照モデルのセッション蒼(L5)で動作。
tcp/ipレベルの任意のプロトコルを透過的に中継。
一方、HTTPプロキシはアプリケーション層(L7)でHTTPプロトコルを解釈し、HTTPリクエスト/レスポンスのみを扱う。
転送可能なトラフィック
SOCKSプロキシはプロトコルに依存せず、TCPとUDP両方の任意ストリームを中継可能。
一方、HTTPプロキシは主にHTTPまたはHTTPSトラフィックの中継に特化し、他のプロトコルを直接扱うことはない。
認証方式
SOCKS5ではユーザー名/パスワード認証やGSSAPIなど複数の認証方式をサポートし、認証が不要な設定も可能。
HTTPプロキシはHTTPのProxy-AuthenticateおよびProxy-Authorizationヘッダーを用いて、Basic認証やDigest認証などでアクセス制御を行う。
性能と用途
SOCKSプロキシはトラフィックを解析せず単純に転送するため、高速に動作し、P2Pファイル共有やオンラインゲーム、SSHトンネルなど多様な用途に適している。
HTTPプロキシはキャッシュ機能やコンテンツフィルタリング機能を持つものが多く、主にWeb閲覧のパフォーマンス向上やフィルタリングに利用される。
参考文献(2025年5月24日)