解説
スティッキーセッションはリクエストごとのIPローテーションの逆です。リクエストごとに新しい出口IPを選ぶのではなく、プロキシゲートウェイはセッションの継続時間中、1つのIPをトラフィックに固定します。セッションは通常、プロキシのユーザー名に渡すセッションID(例: `customer-USER-session-abc123`)によってスコープが決まり、ゲートウェイのスティッキネスウィンドウが期限切れになるまで継続します(一般的に1、5、10、または30分)。
スティッキーセッションは、接続先サイトがソースIPに状態をバインドするあらゆるワークフローにおいて不可欠です。ログインページ、複数ページにわたるチェックアウトフロー、IPバインドのCSRFトークン、ページネーションされた検索結果、およびほとんどのアカウント管理タスクは、複数のリクエストにわたって同じIPを必要とします。リクエストごとのローテーションを使用した場合、2番目のリクエストは異なるIPに届き、接続先はそれを新しい未認証の訪問者として扱います。
ほとんどのレジデンシャルプロキシプロバイダーは、同じゲートウェイを通じて両方のモードを提供しています。プロキシ認証にセッションIDを含めることでスティッキネスを有効にし、それを削除することで無効にします。
仕組み
認証情報にセッションIDを含めてローテーティングプロキシゲートウェイに接続すると、ゲートウェイはセッションIDをハッシュ化し、プールの中の特定の出口IPに紐づけます。同じセッションIDを使用する以降のすべてのリクエストは、スティッキネスウィンドウが期限切れになるか、そのIPが正常でなくなるまで、そのIPを通じてルーティングされます。
セッションIDを変更する(または送信をやめる)と、ゲートウェイは新しいIPを選択します。これにより、プールの多様性というメリットを失うことなく、ワークフローごとのスティッキネスを実現できます。並行して実行される異なるワークフローはそれぞれ独自の固定IPを持ちながら、同じ大規模なローテーティングプールから引き続き利用できます。