PDA

مشاهده نسخه کامل : CGI چیست؟



life24
01-04-13, 12:15
سلام

منظور CGI (Common Gateway Interface) چیست؟

ravegoat
01-04-13, 15:06
با سلام!



قبلش عذر مي خوام كه صورت سوال رو بدون اطلاع ويرايش كردم. كاملا" طبيعي هستش كه يه مخفف به چندين سرواژه ي مختلف مربوط و سبب اشتباه بشه.


CGI يه بخشي از وب سرور (Web Server) هستش كه اين قابليت رو فراهم مي كنه تا برنامه اي در سمت سرور اجرا بشه و خروجي اون برنامه براي كاربر متصل شده به سرور از طريق صفحه ي وب به نمايش در بياد. CGI يكي از اولين روش ها براي توليد صفحات وب پويا (Dynamic) به حساب مياد كه قدمت زيادي هم داره.

به عنوان مثال در موتور هاي جست و جو كاربر تنها يك صفحه جلوش مي بينه شامل يك كادر براي وارد كردن كليد واژه و يك دكمه ي جست و جو. وقتي كاربر دكمه ي جست و جو رو مي زنه، CGI يه اسكريپت رو (فرضا" به زبان Perl) كه در پوشه ي خاصي (cgi_bin) روي سرور قرار گرفته اجرا مي كنه. با اجراي اين اسكريپت كليد واژه ي كاربر به عنوان ورودي استخراج ميشه و در پايگاه داده اي اين كليد واژه جست و جو ميشه تا نتايج جست و جو به دست بيان. در نهايت در خروجي اسكريپت يه فايل HTML درست ميشه كه نتايج جست و جو رو شامل ميشه و CGI اين HTML رو به عنوان پاسخ براي كاربر ارسال مي كنه. چون پويش در يك پايگاه داده به طور مستقيم از راه HTML ممكن نيست، مجبور شديم از كد Perl براي اين كار كمك بگيريم و CGI فقط نقش يه واسطه رو بازي مي كنه.

البته امروزه نقش CGI كم تر شده. شما مي تونيد همين عمل جست و جو رو با ASP.NET هم انجام بديد بدون اينكه نياز به كمك گرفتن از Perl داشته باشيد. چون ASP.NET اين قابليت CGI رو به واسطه ي وب سرورش در درون خودش داره كه به ISAPI معروفه.

موفق باشيد
آرمين:give_rose: