سلام دوستان و همراهان عزیز. امروز میخواهیم در مورد یک مفهوم مهم در دنیای وب صحبت کنیم: Common Gateway Interface یا به اختصار CGI. شاید اسمش کمی پیچیده به نظر برسه، اما نگران نباشید، سعی میکنم به زبانی ساده و قابل فهم براتون توضیح بدم.
فرض کنید شما وارد یک سایت میشوید و میخواهید یک فرم را پر کنید. مثلاً یک فرم تماس با ما، یا یک فرم جستجو. وقتی اطلاعات فرم را وارد میکنید و دکمهی "ارسال" یا "جستجو" را میزنید، چه اتفاقی میافتد؟ اینجاست که CGI وارد عمل میشود.
CGI یک رابط (Interface) است که به وب سرور اجازه میدهد با برنامههای دیگر (مثلاً برنامههای نوشته شده با زبانهای برنامهنویسی مثل پایتون، پرل، یا PHP) ارتباط برقرار کند. به عبارت دیگر، CGI مثل یک مترجم عمل میکند که حرفهای وب سرور را به زبان برنامهای که میخواهد اطلاعات فرم را پردازش کند، ترجمه میکند و بعد جواب آن برنامه را دوباره به زبان وب سرور ترجمه میکند تا سرور بتواند آن را به شما نشان دهد.
به بیان ساده تر، وقتی شما یک درخواستی رو به وب سرور می فرستید (مثلا با کلیک کردن روی یک دکمه)، وب سرور از طریق CGI میتونه این درخواست رو به یک برنامه دیگه بفرسته، اون برنامه کار مورد نظر رو انجام بده (مثلا جستجو در یک پایگاه داده) و نتیجه رو دوباره به وب سرور برگردونه تا به شما نشون داده بشه. اینجوری میتوینم وب سایت های پویا (Dynamic) داشته باشیم که اطلاعاتشون بر اساس درخواست های کاربران تغییر می کنه.
وب سرورها به طور معمول فقط فایلهای HTML و CSS را سرو میکنند. آنها نمیتوانند به طور مستقیم با پایگاههای داده (Database) ارتباط برقرار کنند یا محاسبات پیچیده انجام دهند. CGI این امکان را به آنها میدهد که این کارها را به برنامههای دیگر واگذار کنند.
فرض کنید یک فرم HTML دارید که اطلاعاتی را از کاربر میگیرد. وقتی کاربر فرم را ارسال میکند، مرورگر یک درخواست HTTP به وب سرور میفرستد. وب سرور این درخواست را دریافت میکند و:
این مثال یک اسکریپت CGI ساده است که یک پیغام سلام را به کاربر نشان میدهد:
#!/usr/bin/env python3
print("Content-type: text/html")
print()
print("<html>")
print("<head><title>Hello, World!</title></head>")
print("<body>")
print("<h1>سلام دنیا!</h1>")
print("</body>")
print("</html>")
این اسکریپت باید در یک مسیر خاص روی سرور (که برای اسکریپتهای CGI پیکربندی شده است) قرار گیرد و دسترسی اجرایی (Executable Permission) داشته باشد.
مزایا | معایب |
---|---|
|
|
امروزه روشهای دیگری برای ایجاد وبسایتهای پویا وجود دارند که عملکرد بهتری نسبت به CGI دارند. برخی از این روشها عبارتند از:
این روشها معمولاً برنامهها را به عنوان فرآیندهای جداگانه اجرا نمیکنند، بلکه آنها را در داخل خود وب سرور اجرا میکنند، که باعث افزایش سرعت و کارایی میشود. و امروزه بیشتر مورد استفاده قرار میگیرند. اما درک cgi برای درک سیستم های جدیدتر بسیار مهم است. حتا در سیستم عامل ها هم مفهمو موازی وجود دارد.
ممکن است در بعضی از وب سرورهای کوچک، هنور از cgi استفاده شود.
CGI یک رابط قدیمی اما مهم است که به وب سرورها اجازه میدهد با برنامههای دیگر ارتباط برقرار کنند و وبسایتهای پویا ایجاد کنند. اگرچه روشهای جدیدتر و کارآمدتری برای این کار وجود دارند، اما درک CGI میتواند به شما در درک بهتر نحوهی کار وب کمک کند. به عنوان یک مهندس شما باید دانش کلی ای از سیستم های مختلف داشته باشید.
امیدوارم این توضیحات براتون مفید باشه. اگر سوالی داشتید، حتماً بپرسید.
لطفا توی قسمت نظرات بگویید آیا این مقاله به دردتان خورده یا نخیر. قطعا نظرات شما باعث دلگرمی خواهد شد.
CGI, Common Gateway Interface, وب سرور, وب سایت پویا, اسکریپت CGI, برنامه نویسی وب, پایتون, Perl, PHP
/cgi-bin/
) قرار دهید و دسترسی اجرایی (Executable Permission) به آن بدهید. همچنین، باید مطمئن شوید که وب سرور برای پردازش اسکریپتهای CGI پیکربندی شده است. بهتره از هاستینگ کمک بگیرید.وقتی به CGI به عنوان مخفف Common Gateway Interface اشاره می کنیم، منظور این است که CGI با گرفتن حروف اولیه هر کلمه مهم در Common Gateway Interface تشکیل می شود. این فرآیند عبارت اصلی را به شکلی کوتاه تر و قابل مدیریت تر فشرده می کند و در عین حال معنای اصلی خود را حفظ می کند. بر اساس این تعریف، CGI مخفف Common Gateway Interface است.
امتیاز شما به این مطلب
امتیاز: 5 از 5 (مجموع 1 رای)
اولین نفری باشید که در مورد این مقاله نظر می دهید!
techfeed.ir© 2024 All rights reserved