في الاتصال المباشر، يتم إنشاء اتصال TCP واحد بين جهازك والسيرفر. لكن عند وجود بروكسي، تتغير اللعبة تماماً. يتم "كسر" الاتصال إلى نصفين.
الاتصال المزدوج (Split Connection)
1. العميل -> البروكسي: جهازك يقوم بعمل SYN/SYN-ACK/ACK مع البروكسي.
2. البروكسي -> السيرفر: البروكسي يقوم بإنشاء اتصال جديد تماماً مع السيرفر الهدف.
لماذا هذا مهم؟
- TCP Optimization: يمكن للبروكسي استخدام خوارزميات TCP حديثة (مثل BBR) للاتصال بالسيرفر، حتى لو كان جهاز العميل قديماً (Windows XP مثلاً).
- Connection Pooling: البروكسي يبقي الاتصال مع السيرفر مفتوحاً (Keep-Alive) ليعيد استخدامه لعميل آخر، مما يوفر وقت المصافحة (Handshake).
مشكلة IP المصدر (Source IP)
بالنسبة للسيرفر، الطلب قادم من البروكسي، وضاع عنوان IP الخاص بالعميل.
الحل هو ترويسة X-Forwarded-For التي يضيفها البروكسي (مثل HAProxy) ليخبر السيرفر بالعنوان الأصلي.