لغت Proxy در لغت به معنای دادن اختیار به فرد یا گروهی از طرف فرد دیگری برای انجام کاری میباشد. مثلا فرد A به فرد B امتیاز و اختیار Proxy میدهد تا در رأیگیری شرکت کند.
Forward Proxy (فوروارد پروکسی)
حالا که با این مفهوم آشنا شدید در دنیای وب نیز لغت پروکسی را توضیح میدهم. در دنیای وب هم پروکسی معنای مشابهی دارد. پروکسی برای ما ایرانیها مفهوم نامآشنایی میباشد. مثلا برای دسترسی به تلگرام، توییتر، فیسبوک و دیگر سایتها از پروکسی استفاده میکنیم.
این مورد را در نظر بگیرید:
- X شما یا یک کلاینت کامپیوتر در اینترنت هست
- Y پروکسی سرور به نشانی proxy.pythonlearner.ir هست
- Z سایت مقصد به نشانی telegram.org هست
در حالت معمول X به Z بدون واسطه و پروکسی وصل میشود و سایت Z به درستی لود میشود.
اما به دلایلی، دسترسی به Z توسط ارائه دهنده اینترنت X مسدود میباشد که در این حالت X به Y وصل میشود و Y به Z وصل میشود و اطلاعات و ریکوئستهایی که از X گرفته را به Z ارسال میکند. سپس اطلاعات را از Z به X منتقل میکند.
Reverse Proxy (ریورس پروکسی)
مفهوم Reverse Proxy نیز تا حد زیادی شبیه به Forward Proxy میباشد اما تفاوتی دارد. سناریوی قبلی را در نظر بگیرید:
- X شما یا یک کلاینت کامپیوتر در اینترنت هست
- Y پروکسی سرور به نشانی proxy.pythonlearner.ir هست
- Z سایت مقصد به نشانی telegram.org هست
در حالت معمول X به Z بدون واسطه و پروکسی وصل میشود و سایت Z به درستی لود میشود.
اما به دلایلی، دسترسی به Z توسط ارائه دهنده اینترنت X مسدود میباشد که در این حالت X به Y وصل میشود و Y به Z وصل میشود و اطلاعات و ریکوئستهایی که از X گرفته را به Z ارسال میکند. سپس اطلاعات را از Z به X منتقل میکند.
اما تفاوت این دو در چیست؟
دلایل متعددی وجود دارد، مثل اینکه Z میخواهد کل ترافیک وبسایتش را از Y عبور دهد و کسی متوجه سرور اصلی مثلا نشود.
یا یکی از کاربردهای CDN نیز همین هست که X به یکی از سرورهای Y وصل میشود که نقش پروکسی را دارد و این Y هست که به Z وصل میشود.
در ریورس پروکسی نه X میداند که دارد به Z وصل میشود و نه Z میداند که کلاینتش X هست. هر دو این وسط با Y سر و کار دارند.