این ساده ترین آموزش در رابطه با CGI است که میتوانید از آن استفاده کنید. در این مقاله سعی میشود به طور کاربردی و به همراه مثال توضیح دهیم که CGI چیست و چه کاربردی دارد.
فرض میکنیم که شما میدانید وب سرور چیست. وب سرور همان نرم افزاری است که محتوایی را به بازدید کنندگان صفحات وب تحویل میدهد. مثلا Apache و یا LiteSpeed از معروفترین وب سرورها هستند. وب سرورها که به کارگزارهای وب هم معروفند، ممکن است بسته به نوع پیکربندیای که میشوند، از زبانهای برنامه نویسی خاصی هم پشتیبانی کنند. مثلا اگر برنامهای داشته باشید که به زبان PHP نوشته شده باشد، موتور PHP هم باید روی وب سرور نصب شده باشد.
اما برخی از مفسر(موتور)های زبانهای برنامه نویسی هستند که روی وب سرور نصب نمیشوند، بلکه روی خودِ سیستم عامل نصب شده و وب سرور قادر به اجرا کردن آنها نیست. حالا در این صورت اگر ما خواسته باشید برنامهای را مثلا به زبان C++ بنویسیم و به وب سرور بدهیم که اجرایش کند، وب سرور چه کاری از دستش ساخته است؟

در این حالت وب سرور باید برنامه را به مفسر زبان C++ تحویل داده و پس از آن نتیجه را دریافت کرده و به بازدید کنندهٔ سایت بدهد. پس اگر شما به عنوان یک برنامه نویس برنامه ای داشته باشید که به یک زبان برنامه نویسی نوشته شده باشد، یا حتی به صورت Shell (دستورات لینوکس داخل یک سند sh) باشد، که خواسته باشید روی وب سرور اجرایش کنید، CGI این مسئولیت واسط شدن بین وب سرور (HTTP) و اجرای برنامه را به عهده می گیرد.
بازدید کنندهٔ سایت هم مثل حالت عادی فقط از صفحات سایت بازدید میکند. او اصلاً متوجه این موضوع نخواهد شد که سایت به چه زبانی نوشته شده؛ که برایش مهم هم نیست! چون او فقط صفحهٔ نتیجه را میخواهد ببیند.
یک مثال کاربردی از CGI
به عنوان ی مثال کاربردی از طریقه استفاده از CGI فرض میکنیم شما یک برنامه با زبان C++ به صورت زیر دارید.
#include <iostream>
using namespace std;
int main ()
{
cout << "Content-type:text/html\r\n\r\n";
cout << "<html>\n";
cout << "<head>\n";
cout << "<title>Hello World - First CGI Program</title>\n";
cout << "</head>\n";
cout << "<body>\n";
cout << "<h2>Hello World! This is my first CGI program</h2>\n";
cout << "</body>\n";
cout << "</html>\n";
return 0;
}
بعد از کامپایل کردن این سند با استفاده از دستور gcc myfile.c -o my.cgi میتوانید سند خروجی my.cgi را درون پوشهٔ cgi_gin در ریشهٔ هاست قرار دهید و جواز دسترسی ۷۵۵ به آن بدهید.
حالا با رفتن به نشانی http://mysite.any/my.cgi یک صفحهٔ وب در مرورگر میبینید که همان اجرای برنامهٔ C++ ماست.
جمع بندی
بدین صورت شما میتوانید برنامهٔ C++ یا هر زبان اسکریپت نویسی دیگری مثل Perl و Python را روی فضای میزبانی به واسطهٔ وب سرور اجرا کنید. نتیجهٔ این کار میتواند طراحی یک سایت کامل با استفاده از یکی از این زبانهای برنامه نویسی باشد. زبانهای برنامه نویسی ای که به طور مستقیم روی وب سرور اجرا نمیگردند.
هی زنده باد.