CGI چیست ؟
Cgi ، مخفف کلمات Common Gateway Interface می باشد.
به عنوان مثال شما یک برنامه با زبان های برنامه نویسی دارید ، و میخواهید این نرم افزار را در وب سرور اجرا کنید .cgi وظیفه واسط شدن بین اجرای نرم افزار و http است .
یکی از سوال هایی که در این رابطه پیش می آید این است که کدام برنامه بر روی ماشین سرویس دهنده داده های ارسالی از مرورگر را دریافت و پردازش می کند؟
در واقع وقتی طراح، یک فرم در صفحه وب تعریف می کند باید آدرس تحویل گیرنده و پردازش کننده داده ها را مشخص کند.
برنامه های CGI با نامهای “اسکریپت CGI” و یا “برنامه کاربردی CGI” معرفی می شوند.
همچنین ممکن است این سوال پیش بیاید که مروگر بر اساس چه الگویی داده ها را ارسال می کند و برنامه پردازش کننده داده ها چگونه آنها را از سرویس دهنده HTTP تحویل می گیرد؟
CGI استانداردشیوه صحیح برقراری ارتباط برنامه های جانبی با سرویس دهنده HTTP را مشخص می کند.
پروتکل HTTP به تنهایی میتواند داده ها را ارسال و یا دریافت کند و برنامه های CGI در کنار HTTP می توانند یک ارتباط دوسویه با کاربر ایجاد کنند.
HTTP در واقع به عنوان یک پروتکل واسط انتقال داده بین کاربر و برنامه ها است.
زبان های برنامه نویسی که امکان نوشتن CGI را در اختیار قرار می دهند:
C وC++ و Perl و Tclو Shell script UNIXو Apple scriptو VBو Delphi
برنامه های CGI وردی را از طریق HTTP دریافت کرده و پس از پردازش دوباره آن ها را تحویل HTTP می دهند.
الگوهای ارسال اطلاعات برای یک برنامه CGI
-استفاده از الگوی GET
-استفاده از الگوی POST
در الگوی GET داده های جمع آوری شده از صفحه وب آدرس URL ضمیمه آن شده و به سمت سرویس دهنده ارسال می شوند.،این روش زمانی مناسب است که طول داده ارسالی کمتر از ۱۰۰۰ کاراکتر باشد، بنابراین اکثر برنامه های CGIاز الگوی POST استفاده می کنند.
الگوی POST، این الگو برای ارسال داده های حجیم و یا با حجم نامشخص استفاده می شود.اگر برای فراخوانی داده ها از این الگو استفاده شود، سرویس دهنده HTTP داده ها را از طریق متغییر محیطی به برنامه نمی فرستد، بلکه از طریق “ورودی استاندارد” به برنامه هدایت می شود.