CGI چیست؛ آشنایی با مزایای CGI
در این مقاله به این سوال پاسخ می دهیم که CGI چیست؟ چه ویزگی هایی دارد و چگونه کار می کند. تا انتهای این مقاله همراه ما باشید.
cgi چیست؟
CGI به زبان برنامه نویسی گفته می شود که به شما امکان ایجاد صفحات پویا را می دهد.
اما در تعریفی دیگر از فناوری cgi باید گفت که به عنوان گروهی از قوانین توصیف می شود که برای دریافت اسکریپتها و برنامههای کاری روی سرور وب در نظر گرفته شده است. این امر میتواند اطلاعاتی را که میتوان بین سرور وب و مرورگرهای وب کاربران انتقال داد و دادهها ارسال میشود، شناسایی کند.
یک برنامه CGI یک قطعهای از کد است که در سرور اجرا میشود و محتوای سفارشی تولید می نماید. فناوری cgi تقریباً با هر زبان برنامه نویسی Script قابل نوشتن می باشد محتوای سفارشی با محتوای اصلی web page مخلوط می شود این محتوا در صفحات وب جمع می شود و به browser شما بازگردانده می شود نحوهی اجرای فناوری cgi در سرور مشابه ASP می باشد.
فناوری cgi برای برنامههای تعاملی ساده استفاده میشود. برنامههای پیچیدهتر مانند Google Maps یا Gmail یا چیزی شبیه به آن از فناوری Ajax استفاده میکنند که بعضی اوقات در واقع از CGI در لوکال استفاده میکند تا با برنامههای موجود در سرور خود ارتباط برقرار کند. در ادامه با این مقاله از ایران هاست ( ارائه دهنده ی خدمات هاست پایتون ایران ) همراه باشید.
CGI مخفف چیست؟
CGI مخفف عبارت Common Gateway Interface است.
ویژگیهای CGI
درباره ویژگیهای آن به موارد زیر میتوان اشاره کرد:
- CGI یک فناوری است که به مرورگرهای وب امکان ارسال فرم و اتصال به برنامهها را از طریق سرور وب میدهد.
- بهترین روش ارسال مرورگرهای وب و به سادگی قابلیت اتصال به برنامهها روی سرور را دارد.
- برای دریافت نمونه، وقتی فرم را پر میکنید و فرم را با استفاده از دکمه ارسال، ارسال میکنید، کلیک میکنید. و متوجه میشوید که CGI چیست.
نحوه کار CGI
مرورگر اطلاعات را به سمت سرور ارسال میکند. سرور آن دادهها را به یک برنامه منتقل میکند (برنامه CGI). برنامه پاسخ میدهد و بعد از یک زنجیره باز میگردد، بازگشت به مرورگر وب شما میتواند به نوعی نتیجه زنجیره باشد و احتمالاً چیزی در لوکال مانند جستجو در بانک اطلاعاتی یا ارسال ایمیل یا شاید مشابه آن اتفاق میافتد.
برنامههای CGI را میتوان به هر زبان برنامه نویسی نوشت. متداول ترین آنها زبان برنامه نویسی PHP، Perl و Python هستند و مواردی از این دست به زبانهای ساده تمایل دارند. به همین دلیل، برنامههای CGI اغلب اسکریپتهای CGI نامیده میشوند، زیرا آنها تمایل به زبانهای اسکریپت دارند و اغلب آنها را اسکریپتهای CGI مینامند.
میتوان آنها را به هر زبان برنامه نویسی مانند ASP یا Java نوشت و یا حتی از C++ استفاده کرد اما توجه به این نکته ضروری است که برنامه CGI در سرور اجرا میشود.
الزامات اجرای برنامهها بر روی سرور خود و محدودیتهای امنیتی و مواردی از این دست مطابق با قوانین سرور باید رعایت شود. اما بر اساس قوانین رایانه لوکال، کاربردی نیست. زیرا برنامههای CGI در سرور اجرا میشوند و در مرورگر قابل اجرا نیستند.
نحوه کار CGI چگونه است؟
این CGI است که به ما امکان میدهد برای توسعه نرم افزار خود، سمت سرور را انتخاب کنیم. زیرا با هر نوع کد نویسی میتوان با آن کار کرد. C++ یکی از این زبانها است. همچنین، PHP بیشتر از طریق CGI به جای یک ماژول به دلیل عوامل محافظتی استفاده میشود.
یک فایل داده اجرایی C++ گردآوری شده با استفاده از STDIN و همچنین پاسخ از طریق STDOUT درخواست ها را میخواند. کار در اینجا خاتمه نمییابد. این برنامه میتواند به عنوان یک پس زمینه API برای چندین برنامه نرم افزاری با محوریت موبایل انجام شود.
رویکرد وب برای رهبران دشوار به نظر میرسد، اگرچه واقعاً یک معماری اساسی سازمان یافته و مناسب است. برنامههای رایانه ای ممکن است پیچیده باشند، اما درک سیستم آنها بسیار آسان است.
وب سرور نقش مهمی را به عهده دارد و آن است که درخواستها را از طریق CGI به مجری هدایت میکند. شتاب دهندههای مختلفی برای سرعت بخشیدن به CGI وجود دارد که میتوان به WSCGI و FastCGI اشاره کرد، اما همه آنها روی فرایند مشترک متمرکز هستند.
مزایای CGI چیست ؟
- برنامههای رابط مستقل از زبان هستند
- برنامههای رابط مشترک Gateway را میتوان در هر زبان برنامه نویسی نوشت.
- استفاده از آن بسیار آسان است.
- استفاده از آن کاملا امن است زیرا برنامههای CGI روی سرور اجرا میشوند.
- سبک و سریع است زیرا برای تهیه یک برنامه، شما اصلا هیچ نیازی به یک کتابخانه خاصی ندارید.
مهارتهای لازم برای ایجاد اسکریپتهای CGI
در واقع برنامههای رایج Gateway رابط مستقل از زبان هستند، اما شما ممکن است آنها را به هر زبانی بنویسید و آنها را به محیطهای بی شماری اداره کنید. تعدادی از زبانهای برنامه نویسی که برای ایجاد اسکریپتهای CGI کافی هستند عبارتند از: Perl، PHP، UNIX Shell، زبان C، ویژوال بیسیک، C #، پایتون و نیز جاوا.
چه کسی مخاطب مناسبی برای یادگیری فن آوریهای CGI است؟
- توسعه دهندگان PHP: PHP یک زبان برنامه نویسی سمت سرور و هدف اصلی آن توسعه وب است. کد PHP معمولاً توسط یک مفسر PHP که یک ماژول در وب سرور است اعمال میشود، که یک CGI است. برنامه وب سرور ترکیبی از نتایج حاصل از برنامه PHP تفسیر شده و اجرا شده است، که میتواند شامل هر نوع دادهای مانند عکس، فیلم و متن باشد. کد PHP همچنین میتواند با داشتن یک رابط فرمان یا همان CLI نوشته شود و از آن بهره برد.
- توسعه دهندگان Android: معروف ترین سیستم عامل برای برنامه موبایل Android است که توسط Google توسعه یافته و متن باز است.
- برنامه نویس Python: استفاده از متن پایتون برای توسعه دهندگان پایتون بسیار مفید است.
- توسعه دهندگان IOT: اینترنت اشیایی مانند تلفنهای هوشمند، ساعتهای هوشمند و دستگاهها با استفاده از زبان C و c ++ برای تعامل با سخت افزار و نرم افزار با استفاده از برنامه CGI سیستم تعبیه شدهاند.
نتیجه گیری
خب باید گفت که به صورت کلی توسط چندین زبان برنامه نویسی از جمله PHP و غیره بروزرسانی میشود. این نرم افزار میتواند ابزاری نسبتاً اساسی برای کار با مسئولیتهای مدیریت لینوکس مانند نظارت از راه دور روی سرورهای لینوکس شما با استفاده از یک مرورگر وب باشد. همچنین یک سرور HTTP خود که در پشت یک پراکسی معکوس کار میکند میتواند تمام اطلاعات لازم را با روشی مطمئن تر و مداوم در اختیار شما قرار دهد.به شما پیشنهاد می شود برای کسب اطلاعات در حوزه زبان php چیست مقاله ما را مطالعه نمایید.
سلام وقت بخیر
من Apache 2 نصب شده روی سرور ابونتو دارم. تنظیمات پیش فرض ScriptAlias ست کرده که رجوع میکنه به آدرس /cgi-bin/.
من یه /var/www/cgi-bin ساختم حالا میخوام بدونم که چطور میتونم CGI python رو روی این مسیر اجرا کنم؟