PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Cgi چیست



pnugirl
08-10-2009, 12:33 AM
آشنایی با CGI
صفحات وب اطلاعات متفاوتی را در خود نگهداری می نمايند. صفحات فوق بر روی سرويس دهندگان وب و بر اساس يک ساختار مشخص ، سازماندهی و ذخيره خواهند شد. کاربران اينترنت با استفاده از مرورگر خود، درخواست يک صفحه وب را می نمايند، در خواست مورد نظر پس از ارسال از طريق محيط انتقال در اختيار سرويس دهنده وب قرار خواهد گرفت. سرويس دهنده وب پس از دريافت درخواست کاربران، عمليات جستجو و يافتن فايل درخواست شده را آغاز می نمايند. در صورتيکه فايل ( صفحه وب) درخواستی پيدا نگردد، سرويس دهنده برای برنامه مرورگر کاربر کدی را بمنزله عدم يافتن فايل ارسال و مرورگر پيام مناسبی در رابطه با عدم يافتن فايل را در اختيار کاربر قرارخواهد داد. در صورتيکه سرويس دهنده فايل درخواستی را پيدا نمايد، آن را به منظور نمايش برای مرورگر کاربر ارسال خواهد کرد.
فرآيند فوق ، نحوه برخورد سرويس دهنده وب با فايل های ايستا ( صفحات وب ايستا ) را تشريح می نمايد. صفحات وب ايستا ، قبل از درخواست کاربران توسط مولفين مربوطه ، طراحی و بر اساس ساختار سازماندهی شده بر روی سرويس دهنده وب مستقر خواهند شد. محتويات اين نوع صفحات همواره يکسان بوده و اطلاعات موجود را صرف نظر از زمان، مکان، تمايلات درخواست کننده بصورت يکسان نمايش خواهند داد. اکثر سرويس دهندگان امکان استفاده از فايل های پويا را نيز فراهم می آورند. برای ارائه تکنولوژی فوق از امکانات متعددی استفاده می گردد . (CGI (Common Gateway Interface يکی از امکانات موجود در اين زمينه است . امروزه از اينترفيس CGI در موارد متعددی استفاده می گردد :
- يک دفترچه تلفن امکان ارسال اطلاعات کاربران را از طريق يک فرم Html فراهم و پس از ارسال اطلاعات موجود در فرم ، اطلاعات در بانک های اطلاعاتی ذخيره خواهد شد.
- يک فروشگاه online کتاب ، امکان ارسال اطلاعات مربوط به يک گروه از کتاب را قراهم و در ادامه اطلاعات تکميلی در رابطه به هر يک از کتاب های موجود در گروه در اختيار کاربران قرار خواهد گرفت .
- در برنامه های موتور جستجو ، امکان درج کلمات مورد نظر برای جستجو در اختيار کاربران گذاشته خواهد شد ، در ادامه برنامه مورد نظر، آدرس صفحات وب شامل اطلاعات مورد نظر ( جستجو) را در اختيار کاربران قرار خواهد داد.

pnugirl
08-10-2009, 12:35 AM
مکانيزم نحوه عملکرد CGI در اکثر سرويس دهندگان وب ، يکسان و استاندارد است . در اين راستا فولدری با نام cgi-bin در فهرست ريشه وب سايت مورد نظر ايجاد می گردد. نحوه برخورد سرويس دهنده با فايل هائی که در فولدر فوق قرار می گيرند، متفاوت خواهد بود. سرويس دهنده در رابطه با فايل های فوق صرفا" عمليات ساده خواندن و ارسال را انجام نخواهد داد. اين نوع فايل ها می بايست اجراء و خروجی بدست آمده در اثر اجرای برنامه، برای مرورگر متقاضی ارسال خواهد گرديد. از زبانهای متعددی برای نوشتن برنامه ها در اين زمينه استفاده می گردد. زبان اسکريپتی PERL يکی از متداولترين گزينه ها برای نوشتن اسکريپت های CGI، می باشد.
بمنظور نوشتن فايل های CGI، می توان از زبانهای برنامه نويسی و زبانهای اسکريپت استفاده کرد. زبانهای C و PERL دو گزينه مناسب در اين راستا می باشند. مسئوليت برخورد با اسکريپت های CGI برعهده سرويس دهنده وب است .
اسکريپت های ساده CGI
بمنظور نوشتن اسکريپت های CGI، لازم است که امکان دستيابی به فولدر cgi-bin و آشنائی با يکی از زبانهای C و يا PERL وجود داشته باشد

pnugirl
08-10-2009, 12:36 AM
چندين راه برای دسترسی يك فرد درون اينترانت (Intranet)به پايگاه داده يك شركت وجود دارد كه يكی از پر طرفدارترين آنها CGI يا (Common Gateway Interface) می باشد. CGI به هر برنامه اجرايی اجازه ميدهد اجرا شده و خروجی خود را به مشتری (Client) متقاضی برگرداند. بنابراين به برنامه نويسان اينترانت امكان نوشتن برنامه ها و اسكريپتهايی را می دهد كه با استفاده از آنها كاربران درون اينترانت بتوانند به سادگی با پر كردن فرمهايی از مرورگر وب خود برای جستجو در پايگاه داده و دريافت نتايج به فرمت HTML ،كه برای مرورگر قابل فهم است، استفاده نمايند .

اساسا CGI يك اينترفيس است كه اطلاعات را از سرور به برنامه شما تحويل داده و از برنامه شما به مشتری متقاضی برمی گرداند . CGI يك زبان برنامه نويسی نيست .
همه پردازشها توسط برنامه انجام می شود و CGI تنها ديتا را از برنامه می گيرد . CGI استانداردی است كه به برنامه نويس اجازه می دهدبرنامه هايی بنويسد كه قابليت دسترسی به سرور های اطلاعات و پايگاههای داده را داشته باشند و سپس اطلاعات را به كاربران درون يك اينترانت ارسال نمايند . با استفاده از CGI فن آوريهای اينترانت مبتنی بر وب می توانند با منابع و پايگاههای داده غير TCP/IP ارتباط برقرار كنند.