هیچ چیز در دهه ی ۹۰ به اندازه ی وب جهانی (W W W )ارتباطات را تغییر نداده است.وب که از ایده ای در مورده سازماندهی اطلاعات غیر خطی ریشه گرفته تا به امروز چنان رشد کرده است، که به عنوان ارتباطی که دهها میلیون نفر در سراسر جهان از آن استفاده میکنند ،شناخته میشود.
اینترنت شامل تعداد زیادی کامپیوتر است که به وسیله شبکه مخابراتی و از طریق خطوط سیمی ،ماهواره ای بهم متصل شده اند ویک زبان یا یک قرار داد مشترک با هم ارتباط دارند.این قرار داد Tcp نامیده میشود.
هرکامپیوتر در اینترنت یک کامپیوتر میزبان Host نامیده میشود.اینترنت خیلی شبیه به شبکه های معمولی میباشد.اکثر مقرراتی که در هنگام کار با شبکه های معمولی باید رعایت شود این شبکه لازم الاجرا میباشند.در واقع هیچ شکی وجود ندارد که هم اکنون وب راهی برای دریافت اطلاعات ارتباطات وتداخل کلی روی اینترنت است.سرویس ددهنده وسرویس گیرنده پایه وساس کل کامپیوتر هستند در حالت کلی سرویس دهنده هر کامپیوتری است که عمل سرویس وتحویل اطلاعات وداده ها را انجام میدهد.سرویس گیرنده کامپیوتری است که درخواست یا دریافت اطلاعات وداده ها را انجام می دهد.
تبدیل به برنامه های بی نهایت حجیم ودست وپا گیر میشدند .در عوض آنها سعی میکنند در چارچوبه ی وظایف خود به بهترین نحو عمل نمایند .هنگامی مرورگر به فایلی بر میخورد که به خودی خود آن را نمیشناسد سعی میکند تا آنرا دریافت کرده و اجرای آنرا به یک برنامه کمکی واگذار نماید.در مورد مثال برداشت فایل از روی اینترنت اگر برنامه ای مانند Winzip ، Stuffle Expander داشته باشید در صورتیکه مرورگر به درستی تنظیم شده باشد آن برنامه را اجرا کرده تا فایل برداشت شده را به آن تحویل دهد .
وب ایستا Static :
وب ایستا ساده ترین نوع ساختار وب میباشد. سرویس گیرنده وب با استفاده از پروتکل TCP/IP به سرویس دهنده وب متصل میشود و با استفاده از پروتکل Http درخواستهایش را ایجاد می کند. سرویس دهنده یک سند از پیش ساخته شده HTML را به سرویس گیرنده وب ارسال می نماید. این سند HTML شامل متن ، فراپیوندها و تگ های قالب بندی می باشد. این سند تمامی محتویات پویا را در بر نمی گیرد و کاربرد در ایجاد ارتباط با آن نیز راهی ندارد. به طور اساسی، این ساختار اسناد HTML قدیمی شده اند و هیچ ارتباطی با سرویس گیرنده ایجاد نمی کنند.
برنامه های اتصالی وب (Plug-In)
همزمان با تکنولوژی وب، مردم نیازمند داشتن تواناییهای بیشتری در صفحات وب خود بودند. برنامه های کوچکی را که به اسناد Html اضافه نمایند. افزودن برنامه های کوچک به معنای تگ های HTML جدیدی است که مورد نیاز بودند و مرورگر با استفاده از آنها می توانند چگونگی کنترل تگ های جدید را دریابند. دو نوع از برنامه هایی که می توانند در مرورگر اجرا شوند، اپلت های جاوا و کنترلرهای ActiveX شرکت مایکروسافت می باشند.
اپلت های جاوا برنامه های کوچک نوشته شده به زبان جاوا می باشند که در داخل اسناد HTML درج می شوند تا قابلیتهای بیشتری را به اسناد اضافه کنند. از آنجایی که این اپلت ها به زبان برنامه نویسی جاوا نوشته شده اند، کاملاً قابل حمل (Portable) میباشند. برنامه های جاوا به صورت کدهای بایتی کامپایل شده، در یک ماشین مجازی جاوا اجرا می شوند. اپلت ها می توانند در داخل مرورگر هایی که دارای یک ماشین مجازی تعبیه شده در داخل خود میباشند، اجرا شوند.
ماشین مجازی جاوا (Java Virtual Machine)
ماشین مجازی جاوا کدهای بایتی کامپایل شده را گرفته و آن را برای اجرا به زبان ماشین ترجمه می کند. امروزه تقریباً برای هر نوع کامپیوتر موجود، ماشینهای مجازی جاوا وجود دIE و Netscape Navigator در داخل خود ماشینهای مجازی جاوا را دارند.
اپلت ها در یک محیطی که Sandbox نامیده می شود، اجرا می گردند. زمانی که به Sandbox فکر می کنید، به یاد محل قابل اطمینان برای کودکان می افتید که چند منظور دارد: این وسیله باعث می شود که کودکان به آن اعتماد کرده و شن را در داخل آن نگه دارند. جعبه شنی اپلت ها نیز مشابه این کار را انجام می دهد، بدین صورت که حس اطمینان کاربران را با علم بر اینکه به ماشینهای آنها صدمه ای وارد نمی کند، جلب کرده و محیط کاری را برای اپلت ها ایجاد می کند. اپلت های جاوا کد امنیتی بسیار دقیقی دارند. آنها نمی توانند به فایل های محلی شما یا به گرداننده دیسک سخت شما دسترسی یابند و آنهامی توانند یک اتصال سوکتی را به سرویس دهنده ای که از آن می آیند، برگردانند. این به آن معناست که اپلت ها نمی توانند باطل شده و ایجاد ارتباط شبکه ای در سراسر دنیا را بکنند.
وب پویا Dynamic :
اگرچه برنامه های افزونی شبکه عملکرد شبکه را با افزودن اپلت های جاوا یا کنترلهای Activex افزایش داده اند، با این وجود کاربران هنوز خواستار اسناد از پیش تعریف شدها HTML بودند. اپلت ها راهی را برای دسترسی به بانکهای اطلاعاتی ایجاد کردند دادها را به صورت پویا گرفتند، اما آنها کند و فاقد کارایی بودند. شبکه پویا با معرفی رابط دوازه عمومی(CGI) Common gateway interface آن مشکل را حل کرد.
برنامه های CGI در سمت سرویس دهنده مقیم می شوند و درخواستها را پذیرفته و از منابع Server-Side استفاده کرده و یک صفحه HTML را به عنوان یک پاسخ تولید می کنند. آنها می توانند به زبانهای مختلفی مانند جاوا ،C+ + ، Perl و Visual Basic نوشته شوند.JSP ها و Active Server Page ها (Asp) مثالهایی از برنامه های CGI هستند. از آنجایی که این برنامه ها اسناد HTML برگشتی را معین می کنند،کاربران پاسخهایی را می گیرند که مناسب درخواست ویژه آنها است. با استفاده از برنامه های CGI دسترسی به بانکهای اطلاعاتی و اجرای پرس وجوهای ویژه از آنها امکان پذیر میگردد.
Active Server Page)Asp)
یک روش مبتنی بر سرور میگیرد.کد در صفحه وب تعبیه می شود.asp میتواند با vbscript یا javascript نوشته شود.یادگیری هردوی این زبان ها یا اسکریپت نویسی آسان است ،حتی اگر هیچ تجربه ای برنامه نویسی نداشته باشید .اسکریپت در صفحه وب پردازش شده وتنها html به مرورگر وب ارسال میشود.
مزایای استفاده از Asp :
یافتن میزبانی برای یک سایت وب مشتق شده از asp نسبتا راحت و ارزان است.
انجمن های asp بزرگی وجود دارند ویافتن منابع بسیار آسان است.
Asp در محیط ویندوز کامل وپایدار است .
Asp مجانی است.asp در iis ویندوز Nt قراردارد.
Asp میتواند به پایگاه های داده همراه ODBC از طریق ADO وصل شود.
Asp میتواند توسط اجزای شخص ثالث گسترش پیدا کند ،همچنین میتوانید اجزای خود را بسازید به طوری که بتوانند مجدداً استفاده شوند وسرعت اجرا بهبود یابد .
Asp اجزای تعبیه شده ای دارد که به توسعه وب کمک میکند ،از قبیل شیء request (داده فرم پبت شده را بازیابی میکند ) وشیء session (جلسات کاربر را مدیریت میکند)
مایکروسافت متعهد شده که asp وزبان های اسکریپت نویسی پشتیبان را بهبود بخشد.
Asp.net ارتقای عمده asp است.
معایب استفاده از Asp:
Asp کاملا چند محیطی نیست .شما باید برای اجرای asp در محیط یونیکس plug_in هایی بخرید.این plug_in ها مجانی نیستند .تعدادی از اجزای شخص ثالث تنها در محیط ویندوز ۲۰۰۰/NT کار میکنند.
ممکن است اجزای شخص ثالث گران باشند .اگر برنامه مبتنی بر وب شما نیازمند تعدادی جزء باشد ،باید دنبال cold fusion یا jsp بروید.
تمام شرکت های میزبان وب اجازه نصب اجزای شخص ثالث را نمی دهند.
Vbscript و javascript تنها زبان های اسکریپت نویسی در این زمینه هستند .
JAVA
بطور خلاصه جاوا یک زبان برنامه نویسی شیء گرا ست که بوسیله شرکت SUN MICRO SYSTEMS ارائه شده ونقش مهمی را در اینترنت بازی میکند.برنامه نویسی شیء گرا OOP روشی قدرتمند برای طرحی نرم افزار هاست.در این روش ، برنامه کامپیوتری ، از تعدادی شیء OBJECT شده که بر روی یکدیگر تاثیر میگذارند .
برای مثال یک برنامه اختلاص را که بوسیله جاوا نوشته شده در نظر بگیرید :
یک شیء “کارمند” مقداری شیء “پول” را از شیء “موجودی شرکت” برداشت کرده و آنرا در شیء “حساب بانکی “خودش قرار میدهد.
اگر یک شیء” کارمند ” دیگر ، شیء “بررسی حساب وکتاب شرکت ” را اجرا کند ، یکی شیء “پلیس ” صدا می شود.یکی از قابلیت های مهم جاوا این است که میتوان به وسیله ی آن برنامه هایی نوشت که درون یک صفحه ی وب اجرا میشوند .این برنامه ها ، اپلت (APPLET) یا ریز برنامه نام دارند.
میتوان گفت جاوا توانایی ایجاد رابط متقابل با کاربران را به وب هدیه کرد.این در حالیست که تا قبل از آن وب بیشتر یک رسانه ی یک طرفه محسوب میشد.به کمک جاوا می توان صفحات وب را به گونه ای تنظیم کرد تا اطلاعات آن بر اساس درخواست کاربران تغییر کند.
همچنین میتوان صفحاتی طراحی کرد که اطلاعات موجود در آن به طور مداوم تغییر کند. اگرچه برنامه نویسی تحت وب ، یکی از قدرت های مهم جاوا محسوب میشود، اما این زبان محدود به آن نیست .به عبارت دیگر جاوا یک زبان چند منظوره است وبه وسیله آن میتوان برنامه های کامپیوتری را طراحی کرد.یک برنامه ی جاوا در ابتدا به صورت یک فایل متن TEXT با پسوند .JAVA نوشته میشود.سپس این فایل کمپایل COMPILE شده وتبدیل به یک یا چند فایل ( بایت کد BYTE CODE ) با پسوند .CLASS میگردد. بایت کد ها دستوراتی هستند شبیه به دستورات ماشین (وقتی برنامه ای از یک زبان برنامه نویسی مانند C کمپایل میشود تبدیل به فایلی با دستورات زبان ماشین میشود .در واقع این دستورات صفر ویک های قابل فهم برای کامپیوتر میباشند )تفاوت آنها با زبان ماشین در این است که دستورات زبان ماشین تنها بر روی همان نوع کامپیوتری که از ابتدا بر ای آن کمپایل شده اند ، قابل اجرا می باشند اما بایت کد ها میتوانند بر روی هر نوع کامپیوتری که قابلیت اجرای برنامه های جاوا را داشته باشد ، اجرا شوند .
:ویژگیهای زبان برنامه نویسی ، Java
جاوا ویژگیهای متعددی دارد که آن را منحصربه فرد کرده است . جاوا هم کامپایلر دارد و اینترپرتر . توضیح : ( کامپایلر برنامه ای است که متن برنامه را گرفته و در پایان یک فایل exe تولید می کند . بعد از کامپایل شدن یک برنامه ، دیگر به وجود کامپایلر نیازی نیست و می توان برنامه exe را روی هر کامپیوتر سازگاری اجرا کرد . اما اینترپرتر هیچ برنامه exe ای تولید نمی کند و برنامه را خط به خط اجرا می کند ، برای اجرای برنامه حتما باید اینترپرتر هم روی کامپیوتر مورد نظر موجود باشد ) هر کامپایلر فقط برای یک سیستم خاص ( مانند اینتل ، اپل یا آلفا ) می تواند کد اجرایی تولید کند اما کامپایلر جاوا کد اجرایی Exe تولید نمی کند و در عوض یک فایل بینابینی می سازد که بایت کد Byte code نام دارد و بایت کد چیزی شبیه زبان اسمبلی است ، اما این زبان مختص هیچ پروسسور خاصی نیست بلکه زبان اسمبلی یک ماشین ویژه بنام ماشین مجازی جاوا ( Java Virtual Mashing) دارد که روی ماشین مجازی جاوا اجرا می شود ، دستورات فایل بایت کد را به دستورات قابل فهم برای پروسسوری که روی آن اجرا می شود تبدیل خواهد کرد.
اما شاید از خود سئوال کنید که چرا جاوا این همه کار را بر خود ( و دیگران ) سخت گرفته است ؟ این همه لایه و ماشین مجازی برای چیست ؟ یکی از ادعاهای جاوا ، آزاد بودن از بستر سخت افزاری است اما این یعنی چه ؟ اگر جاوا بخواهد در اینترنت موفق باشد برنامه های آن باید بتوانند بدون هیچ اشکالی روی تمام کامپیوترهای متصل به اینترنت اجرا شوند . اما شما بهتر می دانید که اینترنت شبکه عظیمی است از کامپیوترهای نامتجانس ، از سوپر کامپیوترهای عظیم گرفته تا PC های مبتنی بر پروسسور های اینتل و پاور پی سی تا ماشین های یونیکس مبتنی بر پروسسورهای آلفا و … !
چگونه یک برنامه اجرایی می تواند روی این طیف وسیع کامپیوترها اجرا شود.
ایده اولیه ساده است : برنامه ها برای ماشین مجازی کامپایل شوند و این ماشین مجازی روی تمام کامپیوترهای متصل به اینترنت نصب شود
این دقیقاً همان روشی است که جاوا در پیش گرفته است . برنامه تان را با یک کامپایلر جاوا کامپایل کنید ، آن را در پایگاه وب خود قرار دهید و به دیگران اطلاع دهید تا با یک کاوشگر مجهز به جاوا (Java – Enabled Brower ) این برنامه را که ممکن است در دل یک صفحه وب قرار داشته باشد اجرا کنند
شاید هرگز تصور نمی کردید که برنامه ای را که با یک PCاینتل نوشته اید روی یک ماشین مکینتاش یا یونیکس اجرا شود ولی اکنون به لطف جاوا این دیگر آرزویی دست نیافتنی نیست.
JAVA SCRIPT
با توجه به شهرت جاوا بد نیست نگاهی اجمالی با جاوا اسکریپت بیندازیم .گرچه این دو زبان شباهت هایی با هم دارند مثلا جاوا اسکریپت ساختار بسیاری از دستورات خود را از جاوا گرفته است اما باید گفت که به طور بنیادی با هم تفاوت دارند .به عبارت دیگر آنها مکمل یکدیگرند نه رقیب هم.
جاوا یک زبان کاملا شی ءگراست که برای اجرا باید کمپایل شده وبه دستوراتی به نام بایت کد تبدیل شود .به دلیل توانایی هایی که این زبان دارد ،بوسیله آن میتوان بین سرویسگر وسرویسگیر ااربتاط متقابل برقرار کرد .علاوه بر اینکه جاوا برای ساخت ریز برنامه ها واپلت ها بکار بـرده میشود ساختن برنامه های مستقل یا کاربردی نیز بوسیله ی آن کاملا عملی است .همچنین طراحان برای جلوگیری از انتقال ویروس ها وبر نامه های مخرب از طریق آن ،یک ایمنی چند سطحی برای این زبان منظور کرده اند که عملا جاوا را تبدیل به ابزاری مطمئن وامن کرده است .
به عنوان آخرین مورد باید گفت که جاوا بصورتی جداگانه از HTML نوشته میشود تنها یک دستور APPLET سند HTML را با یک فایل جاوا (با پسوند .CLASS)پیوند میدهد.
بر خلاف جاوا جاوا اسکریپت ،یک زبان برنامه نویسی کوچک وساده است که یادگیری آن وقت ونیروی کمتری از یادگیری جاوا طلب میکند .این زبان ، ابزار قوی برای ایجاد رابـ ـطه متقابل با کاربران محسوب میشود.جاوا اسکریپت در ابتدا زبان مخصوص نت اسکیپ ،برای برنامه نویسی بر روی صفحات وب بود و LIVE SCRIPT نام داشت.اما در اوخر سال ۱۹۹۵ شرکت SUN طی قراردادی حمایت خود را از این زبان اعلام کرد واز آن به بعد به نام جاوا اسکریپت شناخته شد .متعاقبا بسیاری از شرکت های دیگر نیز از جاوا اسکریپت پشتیبانی کردند وبه این ترتیب جاوا اسکریپت تبدیل به زبانی مشهور ومعروف شد .
همان طور که بیان شد ساختار جاوا اسکریپت شباهت زیادی به جاوا دارد .همچنین ،تعدادی از پیش بینی های امنیتی جاوا ،در جاوا اسکریپت نیز لحاظ شده است .به عنوان مثال توابع جاوا اسکریپت نیز مانند ریز برنامه های جاوا حق نوشتم بر روی دیسک کاربران را ندارند .علاوه بر این جاوا اسکریپت نیز یک زبان شیء گرا محسوب میشود.
این زبان برای نوشتن برنامه های کوچک که در صفحه وب اجرا میشوند ایده آل است.مثلا به وسیله جاوا اسکریپت می توان به راحتی پرسشنامه های کاربران را ارزیابی کرده ودر صورت وجود هرگونه خطائی در نحوه ی پر شدن آنها پیغام های خطای مناسب را برای آنها به نمایش در آورد .این کار علاوه بر بالا بدن سرعت ، بار عملیات سرویس گر را نیز کاهش میدهد .
CGI
یک CGI به زبان ساده ، برنامه ای است که به عنوان پلی بین سرویسگر HTTP SERVER وکاربران وب عمل میکند .
بدون وجود CGI ،سرویگر های وب مسئول دریافت ودرخواست کاربران مبنی بر ارسال صفحات وب (براساس انتخاب پیونده های ویژه توسط آنها )ومتعاقب آن ، فرستادن صفحات درخواستی بودند ، در صورتی که سرویسگر های وب معمولا تعدادی برنامه CGI دارند که براساس تقاضای کاربران ،میتوانند بر روی سرویسگر اجرا شوند .مثاله ای شایع برنامه های CGI ، آن دسته از برنامه ها هستند که برای پردازش پرسش نامه ها FORMS وهمچنین اجرای عملیاتی ،برروی بانک های اطلاعاتی بکار می روند .
پرسش نامه ها یکی از شایع ترین وساده ترین روش هایی هستند که باعث افزایش ارتباط متقابل با کاربران میشوند .این پرسش نامه ها بطور معمول دارای سؤلات وگزینه هایی هستند که کاربران میتوانند به آنها پاسخ داده ودر نهایت آنها به سرویسگر تسلیمSUBMIT نمایند .سپس یک برنامه CGI این اطلاعات را دریافت کرده ، بر روی آنها عملیاتی را انجام میدهد و در صورت لزوم پاسخی برای کاربر ارسال میکند .
مثال دیگر برنامه های پردازشگر بانک های اطلاعاتی میباشند .با استفاده از این برنامه های CGI ناشرین وب میتوانند اجزه دسترسی واستفاده از بانک های اطلاعاتی موجود بر روی سرویسگر را به کاربران خود اعطا نمایند .مثلا اگر از طرف کاربر تقاضای برای یک عمل جستجو SEARCH در یک بانک اطلاعاتی ارسال شود ، برنامه ی CGI مذکور میتواند آن را دریافت کند ،در بانک اطلاعاتی مزبور عمل جستجو را انجام دهد ودر نهایت نتیجه آن را به کاربر باز پس فرستد .
مثلا سایت YAHOO که یکی از سایت های مخصوص جستجو در اینترنت است .میتوان به طور مثال کلمه CGI را در محل وخصوص نوشته وکاربر قصد دارد دکمه SEARCH را فشار دهد .با فشار دادن این دکمه کلمه CGI به سرویسگر عرضه میشود . در آنجا بر روی بانک های اطلاعاتی موجود ،جستجو انجام شده ونتیجه آن برای این کاربر فرستاده می گردد.
در پایان ذکر این نکته ضروری است که گرچه CGI میتواند با استفاده از زبان های مختلف کامپیوتری نوشته شود دو تا از شایع ترین زبان ها برای خلق CGI ،PERL و C میباشد.
JSP (JAVA SERVER PAGES چیست؟
JSP یک تکنولوژی است که توسط شرکت SUN MICROSYSTEMS تعریف شده تا محتویات پویایی را در شبکه ایجاد نماید .آنها اسناد HTML هستند که در داخل آنها از کد های جاوایی استفده شده است ، تا محتویات پویایی را به وجود آورند .
JSP یک برنامه کاربردی است که بر روی سرویس دهنده قرار دارد ، آنها درخواست ها را گرفته وبه آنها پاسخ می دهند .به طور کلی در خواست ها از طرف سرویس گیرنده وب ارسال می گردد.از آنجایی که JSP یک برنامه کاربردی SERVER SIDE می باشد ، آنها به منابع سرویس ددهنده همانند SERVELT ها ، JAVABEAN ها ، EJB ها وبانک های اطلاعاتی دسترسی دارند.
سرویس گیرنده :
یک سرویس گیرنده شبکه ،سرویس گیرنده ای است که با یک سرویس دهنده با استفاده از پروتکل HTTP در ارتباط می باشد .سرویس گیرنده یک مرورگر شبکه را اجرا میکند .مانند IE یا NEVIGATOR NETSCAPE واسناد را با مشخص کردن URL (آدرس یک وب سایت ) در داخل مرورگر درخواست می نماید .
استفاده از تکنولوژی JSP دارای مزایای می باشد.از آنجایی که صفحات JSP از زبان برنامه نویسی جاوا استفاده می نمایند ، آنها سیاست “یک بار بنویس و در همه جا اجرا کن “را دنبال می کنند ،این به آن معنی است که صفحه JSP می تواند بدون هیچ تغییری در هر سرویس دهنده ی کاربردی که صفحات JSP را پشتیبانی می نماید ، اجرا شود.مزیت دیگر JSP این است که مشخصات آن به گونه ای نوشته شده است که عمل یکپارچه سازی با محیط برنامه نویسی مجتمع را بوجود آورده است..DES))
صفحات JSP را می توان در هر ویرایشگر متنی نوشت ؛ فقط باید مطمئن گردید که سند موردنظر را با پسوند JSP ذخیره می نمایید.این به آن معنی است که شما میتوانید JSP ها در برنامه NOTEPAD سیستم عامل ویندوز،یا EMACS سیستم عامل UNIX بنویسید .یک IDE که از صفحات نوشته شده JSP حمایت می نماید ، برنامه DREAM WEAVER می باشد که بخشی از WEBGAIN STUDIO می باشد.
مزیت دیگر JSP ها استفاده از تگ های کتابخانه ای میباشد .JSP از تگ هایی که به صورت مشابه در HTML وXML وجود دارند ،برای درج متن های پویا استفاده میکند.این امکان وجود دارد که بتوانیم با وارد کردن یک تگ کتابخانه ای ،امکانات اضافه ای را به صفحات JSP بیفزاییم .تگ کتابخانه ای ، تگ اضافه ای را تعریف میکنند که میتوانند برای جایگزین کردن بخش هایی از کد ها مورد استفاده قرار گیرند .
یکی دیگر از مزیت های مهم JSP جداسازس نقش ها می باشد.مشخصه های JSP این اجازه را می دهد که بار کاری به دو دسته تفکیک گردد:متن های گرافیکی صفحه ، ومتن های پویای صفحه .یک تیم خلاق که هیچ دانشی درباره زبان برنامه نویسی جاوا ندارد ، میتواند متن های گرافیکی صفحه را ایجاد کند.یک برنامه نویس جاوا سپس کد های جاوا را برای رسیدن به متن پویای صفحه در داخل سند HTML درج مینماید.
زمان نوشتن یک صفحه JSP ، نوشتن کد های HTML وسپس کد های جاوا برای ایجاد متن های پویا آسان تر باشد.بنابراین ،اگر قصد نوشتن HTML را ندارید ، به گرافیست های خود اجازه دهید که یک صفحه زیبا را طراحی نمایند وسپس کد های جاوا را به منظور ساختن صفحات JSP پویا وارد نمایید.
PHP
PHP سال ۱۹۹۴ توسط Rasmus Lerdorf ایجاد شد و مخفف واژگان Personal Home Pages به حساب می آید.
با گسترش قابلیت ها و موارد استفاده این زبان PHP در معنای Hypertext Preprocessor به کار گرفته شد. عبارت پیش پردازشگر (Preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان Html پردازش می کند.
مطابق مطالب سایت وب رسمی PHP که در آدرس قرار دارد، PHP زبان اسکریپتی سمت سرویس دهنده Html Embeded , Cross-Platform ,(Server-side) می باشد.
سمت سرویس دهنده بودن PHP بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (Server) انجام می گیرد. یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند.
چگونگی ادامه این روند را در درس های آتی توضیح داده خواهد شد.
منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل : Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.
PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Language) می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا می شوند. این رویدادها می توانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script می باشد که معمولا برای پاسخ به رویدادهای کاربر در مرورگر وب بــه کار می رود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) می باشد.
زبان هایی مانند Java Script یا PHP تفسیر شونده (Interpreted) نامیده می شوند. به عبــارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا می باشند.
پیاچپی (PHP) یکی از پر طرفدارترین زبانهای برنامه نویسی باز متن(Open Source) می باشد، که بیشتر برای طراحی برنامههای سمت سرور در وبگاههای پویا (Dynamic) مورد استفاده قرار میگیرد. PHP مخفف PHP: Hypertext Preprocessor (پیشپردازنده فرامتن) می باشد. پیاچپی در سال ۱۹۹۴ ایجاد شد. رسموس ردولف (Rasmus Lerdorf) ایجاد کننده اولیه آن بوده است ولی در طی زمان این زبان برنامهسازی، توسط سایر کارشناسان و برنامهنویسان تکمیل گردیده و به شکل کنونی آن درآمدهاست.
پیاچپی از زبانهای برنامهنویسی تحت وب است. ساختار این زبان بسیار شبیه(C) و وزبان برنامه نویسی(Perl) می باشد. شکل پذیری فوق العاده آن و نیز همگونی با اغلب بانک های اطلاعاتی از قبیل MY SQLقدرت آن را افزایش داده است.
اینترنت شامل تعداد زیادی کامپیوتر است که به وسیله شبکه مخابراتی و از طریق خطوط سیمی ،ماهواره ای بهم متصل شده اند ویک زبان یا یک قرار داد مشترک با هم ارتباط دارند.این قرار داد Tcp نامیده میشود.
هرکامپیوتر در اینترنت یک کامپیوتر میزبان Host نامیده میشود.اینترنت خیلی شبیه به شبکه های معمولی میباشد.اکثر مقرراتی که در هنگام کار با شبکه های معمولی باید رعایت شود این شبکه لازم الاجرا میباشند.در واقع هیچ شکی وجود ندارد که هم اکنون وب راهی برای دریافت اطلاعات ارتباطات وتداخل کلی روی اینترنت است.سرویس ددهنده وسرویس گیرنده پایه وساس کل کامپیوتر هستند در حالت کلی سرویس دهنده هر کامپیوتری است که عمل سرویس وتحویل اطلاعات وداده ها را انجام میدهد.سرویس گیرنده کامپیوتری است که درخواست یا دریافت اطلاعات وداده ها را انجام می دهد.
تبدیل به برنامه های بی نهایت حجیم ودست وپا گیر میشدند .در عوض آنها سعی میکنند در چارچوبه ی وظایف خود به بهترین نحو عمل نمایند .هنگامی مرورگر به فایلی بر میخورد که به خودی خود آن را نمیشناسد سعی میکند تا آنرا دریافت کرده و اجرای آنرا به یک برنامه کمکی واگذار نماید.در مورد مثال برداشت فایل از روی اینترنت اگر برنامه ای مانند Winzip ، Stuffle Expander داشته باشید در صورتیکه مرورگر به درستی تنظیم شده باشد آن برنامه را اجرا کرده تا فایل برداشت شده را به آن تحویل دهد .
وب ایستا Static :
وب ایستا ساده ترین نوع ساختار وب میباشد. سرویس گیرنده وب با استفاده از پروتکل TCP/IP به سرویس دهنده وب متصل میشود و با استفاده از پروتکل Http درخواستهایش را ایجاد می کند. سرویس دهنده یک سند از پیش ساخته شده HTML را به سرویس گیرنده وب ارسال می نماید. این سند HTML شامل متن ، فراپیوندها و تگ های قالب بندی می باشد. این سند تمامی محتویات پویا را در بر نمی گیرد و کاربرد در ایجاد ارتباط با آن نیز راهی ندارد. به طور اساسی، این ساختار اسناد HTML قدیمی شده اند و هیچ ارتباطی با سرویس گیرنده ایجاد نمی کنند.
برنامه های اتصالی وب (Plug-In)
همزمان با تکنولوژی وب، مردم نیازمند داشتن تواناییهای بیشتری در صفحات وب خود بودند. برنامه های کوچکی را که به اسناد Html اضافه نمایند. افزودن برنامه های کوچک به معنای تگ های HTML جدیدی است که مورد نیاز بودند و مرورگر با استفاده از آنها می توانند چگونگی کنترل تگ های جدید را دریابند. دو نوع از برنامه هایی که می توانند در مرورگر اجرا شوند، اپلت های جاوا و کنترلرهای ActiveX شرکت مایکروسافت می باشند.
اپلت های جاوا برنامه های کوچک نوشته شده به زبان جاوا می باشند که در داخل اسناد HTML درج می شوند تا قابلیتهای بیشتری را به اسناد اضافه کنند. از آنجایی که این اپلت ها به زبان برنامه نویسی جاوا نوشته شده اند، کاملاً قابل حمل (Portable) میباشند. برنامه های جاوا به صورت کدهای بایتی کامپایل شده، در یک ماشین مجازی جاوا اجرا می شوند. اپلت ها می توانند در داخل مرورگر هایی که دارای یک ماشین مجازی تعبیه شده در داخل خود میباشند، اجرا شوند.
ماشین مجازی جاوا (Java Virtual Machine)
ماشین مجازی جاوا کدهای بایتی کامپایل شده را گرفته و آن را برای اجرا به زبان ماشین ترجمه می کند. امروزه تقریباً برای هر نوع کامپیوتر موجود، ماشینهای مجازی جاوا وجود دIE و Netscape Navigator در داخل خود ماشینهای مجازی جاوا را دارند.
اپلت ها در یک محیطی که Sandbox نامیده می شود، اجرا می گردند. زمانی که به Sandbox فکر می کنید، به یاد محل قابل اطمینان برای کودکان می افتید که چند منظور دارد: این وسیله باعث می شود که کودکان به آن اعتماد کرده و شن را در داخل آن نگه دارند. جعبه شنی اپلت ها نیز مشابه این کار را انجام می دهد، بدین صورت که حس اطمینان کاربران را با علم بر اینکه به ماشینهای آنها صدمه ای وارد نمی کند، جلب کرده و محیط کاری را برای اپلت ها ایجاد می کند. اپلت های جاوا کد امنیتی بسیار دقیقی دارند. آنها نمی توانند به فایل های محلی شما یا به گرداننده دیسک سخت شما دسترسی یابند و آنهامی توانند یک اتصال سوکتی را به سرویس دهنده ای که از آن می آیند، برگردانند. این به آن معناست که اپلت ها نمی توانند باطل شده و ایجاد ارتباط شبکه ای در سراسر دنیا را بکنند.
وب پویا Dynamic :
اگرچه برنامه های افزونی شبکه عملکرد شبکه را با افزودن اپلت های جاوا یا کنترلهای Activex افزایش داده اند، با این وجود کاربران هنوز خواستار اسناد از پیش تعریف شدها HTML بودند. اپلت ها راهی را برای دسترسی به بانکهای اطلاعاتی ایجاد کردند دادها را به صورت پویا گرفتند، اما آنها کند و فاقد کارایی بودند. شبکه پویا با معرفی رابط دوازه عمومی(CGI) Common gateway interface آن مشکل را حل کرد.
برنامه های CGI در سمت سرویس دهنده مقیم می شوند و درخواستها را پذیرفته و از منابع Server-Side استفاده کرده و یک صفحه HTML را به عنوان یک پاسخ تولید می کنند. آنها می توانند به زبانهای مختلفی مانند جاوا ،C+ + ، Perl و Visual Basic نوشته شوند.JSP ها و Active Server Page ها (Asp) مثالهایی از برنامه های CGI هستند. از آنجایی که این برنامه ها اسناد HTML برگشتی را معین می کنند،کاربران پاسخهایی را می گیرند که مناسب درخواست ویژه آنها است. با استفاده از برنامه های CGI دسترسی به بانکهای اطلاعاتی و اجرای پرس وجوهای ویژه از آنها امکان پذیر میگردد.
Active Server Page)Asp)
یک روش مبتنی بر سرور میگیرد.کد در صفحه وب تعبیه می شود.asp میتواند با vbscript یا javascript نوشته شود.یادگیری هردوی این زبان ها یا اسکریپت نویسی آسان است ،حتی اگر هیچ تجربه ای برنامه نویسی نداشته باشید .اسکریپت در صفحه وب پردازش شده وتنها html به مرورگر وب ارسال میشود.
مزایای استفاده از Asp :
یافتن میزبانی برای یک سایت وب مشتق شده از asp نسبتا راحت و ارزان است.
انجمن های asp بزرگی وجود دارند ویافتن منابع بسیار آسان است.
Asp در محیط ویندوز کامل وپایدار است .
Asp مجانی است.asp در iis ویندوز Nt قراردارد.
Asp میتواند به پایگاه های داده همراه ODBC از طریق ADO وصل شود.
Asp میتواند توسط اجزای شخص ثالث گسترش پیدا کند ،همچنین میتوانید اجزای خود را بسازید به طوری که بتوانند مجدداً استفاده شوند وسرعت اجرا بهبود یابد .
Asp اجزای تعبیه شده ای دارد که به توسعه وب کمک میکند ،از قبیل شیء request (داده فرم پبت شده را بازیابی میکند ) وشیء session (جلسات کاربر را مدیریت میکند)
مایکروسافت متعهد شده که asp وزبان های اسکریپت نویسی پشتیبان را بهبود بخشد.
Asp.net ارتقای عمده asp است.
معایب استفاده از Asp:
Asp کاملا چند محیطی نیست .شما باید برای اجرای asp در محیط یونیکس plug_in هایی بخرید.این plug_in ها مجانی نیستند .تعدادی از اجزای شخص ثالث تنها در محیط ویندوز ۲۰۰۰/NT کار میکنند.
ممکن است اجزای شخص ثالث گران باشند .اگر برنامه مبتنی بر وب شما نیازمند تعدادی جزء باشد ،باید دنبال cold fusion یا jsp بروید.
تمام شرکت های میزبان وب اجازه نصب اجزای شخص ثالث را نمی دهند.
Vbscript و javascript تنها زبان های اسکریپت نویسی در این زمینه هستند .
JAVA
بطور خلاصه جاوا یک زبان برنامه نویسی شیء گرا ست که بوسیله شرکت SUN MICRO SYSTEMS ارائه شده ونقش مهمی را در اینترنت بازی میکند.برنامه نویسی شیء گرا OOP روشی قدرتمند برای طرحی نرم افزار هاست.در این روش ، برنامه کامپیوتری ، از تعدادی شیء OBJECT شده که بر روی یکدیگر تاثیر میگذارند .
برای مثال یک برنامه اختلاص را که بوسیله جاوا نوشته شده در نظر بگیرید :
یک شیء “کارمند” مقداری شیء “پول” را از شیء “موجودی شرکت” برداشت کرده و آنرا در شیء “حساب بانکی “خودش قرار میدهد.
اگر یک شیء” کارمند ” دیگر ، شیء “بررسی حساب وکتاب شرکت ” را اجرا کند ، یکی شیء “پلیس ” صدا می شود.یکی از قابلیت های مهم جاوا این است که میتوان به وسیله ی آن برنامه هایی نوشت که درون یک صفحه ی وب اجرا میشوند .این برنامه ها ، اپلت (APPLET) یا ریز برنامه نام دارند.
میتوان گفت جاوا توانایی ایجاد رابط متقابل با کاربران را به وب هدیه کرد.این در حالیست که تا قبل از آن وب بیشتر یک رسانه ی یک طرفه محسوب میشد.به کمک جاوا می توان صفحات وب را به گونه ای تنظیم کرد تا اطلاعات آن بر اساس درخواست کاربران تغییر کند.
همچنین میتوان صفحاتی طراحی کرد که اطلاعات موجود در آن به طور مداوم تغییر کند. اگرچه برنامه نویسی تحت وب ، یکی از قدرت های مهم جاوا محسوب میشود، اما این زبان محدود به آن نیست .به عبارت دیگر جاوا یک زبان چند منظوره است وبه وسیله آن میتوان برنامه های کامپیوتری را طراحی کرد.یک برنامه ی جاوا در ابتدا به صورت یک فایل متن TEXT با پسوند .JAVA نوشته میشود.سپس این فایل کمپایل COMPILE شده وتبدیل به یک یا چند فایل ( بایت کد BYTE CODE ) با پسوند .CLASS میگردد. بایت کد ها دستوراتی هستند شبیه به دستورات ماشین (وقتی برنامه ای از یک زبان برنامه نویسی مانند C کمپایل میشود تبدیل به فایلی با دستورات زبان ماشین میشود .در واقع این دستورات صفر ویک های قابل فهم برای کامپیوتر میباشند )تفاوت آنها با زبان ماشین در این است که دستورات زبان ماشین تنها بر روی همان نوع کامپیوتری که از ابتدا بر ای آن کمپایل شده اند ، قابل اجرا می باشند اما بایت کد ها میتوانند بر روی هر نوع کامپیوتری که قابلیت اجرای برنامه های جاوا را داشته باشد ، اجرا شوند .
:ویژگیهای زبان برنامه نویسی ، Java
جاوا ویژگیهای متعددی دارد که آن را منحصربه فرد کرده است . جاوا هم کامپایلر دارد و اینترپرتر . توضیح : ( کامپایلر برنامه ای است که متن برنامه را گرفته و در پایان یک فایل exe تولید می کند . بعد از کامپایل شدن یک برنامه ، دیگر به وجود کامپایلر نیازی نیست و می توان برنامه exe را روی هر کامپیوتر سازگاری اجرا کرد . اما اینترپرتر هیچ برنامه exe ای تولید نمی کند و برنامه را خط به خط اجرا می کند ، برای اجرای برنامه حتما باید اینترپرتر هم روی کامپیوتر مورد نظر موجود باشد ) هر کامپایلر فقط برای یک سیستم خاص ( مانند اینتل ، اپل یا آلفا ) می تواند کد اجرایی تولید کند اما کامپایلر جاوا کد اجرایی Exe تولید نمی کند و در عوض یک فایل بینابینی می سازد که بایت کد Byte code نام دارد و بایت کد چیزی شبیه زبان اسمبلی است ، اما این زبان مختص هیچ پروسسور خاصی نیست بلکه زبان اسمبلی یک ماشین ویژه بنام ماشین مجازی جاوا ( Java Virtual Mashing) دارد که روی ماشین مجازی جاوا اجرا می شود ، دستورات فایل بایت کد را به دستورات قابل فهم برای پروسسوری که روی آن اجرا می شود تبدیل خواهد کرد.
اما شاید از خود سئوال کنید که چرا جاوا این همه کار را بر خود ( و دیگران ) سخت گرفته است ؟ این همه لایه و ماشین مجازی برای چیست ؟ یکی از ادعاهای جاوا ، آزاد بودن از بستر سخت افزاری است اما این یعنی چه ؟ اگر جاوا بخواهد در اینترنت موفق باشد برنامه های آن باید بتوانند بدون هیچ اشکالی روی تمام کامپیوترهای متصل به اینترنت اجرا شوند . اما شما بهتر می دانید که اینترنت شبکه عظیمی است از کامپیوترهای نامتجانس ، از سوپر کامپیوترهای عظیم گرفته تا PC های مبتنی بر پروسسور های اینتل و پاور پی سی تا ماشین های یونیکس مبتنی بر پروسسورهای آلفا و … !
چگونه یک برنامه اجرایی می تواند روی این طیف وسیع کامپیوترها اجرا شود.
ایده اولیه ساده است : برنامه ها برای ماشین مجازی کامپایل شوند و این ماشین مجازی روی تمام کامپیوترهای متصل به اینترنت نصب شود
این دقیقاً همان روشی است که جاوا در پیش گرفته است . برنامه تان را با یک کامپایلر جاوا کامپایل کنید ، آن را در پایگاه وب خود قرار دهید و به دیگران اطلاع دهید تا با یک کاوشگر مجهز به جاوا (Java – Enabled Brower ) این برنامه را که ممکن است در دل یک صفحه وب قرار داشته باشد اجرا کنند
شاید هرگز تصور نمی کردید که برنامه ای را که با یک PCاینتل نوشته اید روی یک ماشین مکینتاش یا یونیکس اجرا شود ولی اکنون به لطف جاوا این دیگر آرزویی دست نیافتنی نیست.
JAVA SCRIPT
با توجه به شهرت جاوا بد نیست نگاهی اجمالی با جاوا اسکریپت بیندازیم .گرچه این دو زبان شباهت هایی با هم دارند مثلا جاوا اسکریپت ساختار بسیاری از دستورات خود را از جاوا گرفته است اما باید گفت که به طور بنیادی با هم تفاوت دارند .به عبارت دیگر آنها مکمل یکدیگرند نه رقیب هم.
جاوا یک زبان کاملا شی ءگراست که برای اجرا باید کمپایل شده وبه دستوراتی به نام بایت کد تبدیل شود .به دلیل توانایی هایی که این زبان دارد ،بوسیله آن میتوان بین سرویسگر وسرویسگیر ااربتاط متقابل برقرار کرد .علاوه بر اینکه جاوا برای ساخت ریز برنامه ها واپلت ها بکار بـرده میشود ساختن برنامه های مستقل یا کاربردی نیز بوسیله ی آن کاملا عملی است .همچنین طراحان برای جلوگیری از انتقال ویروس ها وبر نامه های مخرب از طریق آن ،یک ایمنی چند سطحی برای این زبان منظور کرده اند که عملا جاوا را تبدیل به ابزاری مطمئن وامن کرده است .
به عنوان آخرین مورد باید گفت که جاوا بصورتی جداگانه از HTML نوشته میشود تنها یک دستور APPLET سند HTML را با یک فایل جاوا (با پسوند .CLASS)پیوند میدهد.
بر خلاف جاوا جاوا اسکریپت ،یک زبان برنامه نویسی کوچک وساده است که یادگیری آن وقت ونیروی کمتری از یادگیری جاوا طلب میکند .این زبان ، ابزار قوی برای ایجاد رابـ ـطه متقابل با کاربران محسوب میشود.جاوا اسکریپت در ابتدا زبان مخصوص نت اسکیپ ،برای برنامه نویسی بر روی صفحات وب بود و LIVE SCRIPT نام داشت.اما در اوخر سال ۱۹۹۵ شرکت SUN طی قراردادی حمایت خود را از این زبان اعلام کرد واز آن به بعد به نام جاوا اسکریپت شناخته شد .متعاقبا بسیاری از شرکت های دیگر نیز از جاوا اسکریپت پشتیبانی کردند وبه این ترتیب جاوا اسکریپت تبدیل به زبانی مشهور ومعروف شد .
همان طور که بیان شد ساختار جاوا اسکریپت شباهت زیادی به جاوا دارد .همچنین ،تعدادی از پیش بینی های امنیتی جاوا ،در جاوا اسکریپت نیز لحاظ شده است .به عنوان مثال توابع جاوا اسکریپت نیز مانند ریز برنامه های جاوا حق نوشتم بر روی دیسک کاربران را ندارند .علاوه بر این جاوا اسکریپت نیز یک زبان شیء گرا محسوب میشود.
این زبان برای نوشتن برنامه های کوچک که در صفحه وب اجرا میشوند ایده آل است.مثلا به وسیله جاوا اسکریپت می توان به راحتی پرسشنامه های کاربران را ارزیابی کرده ودر صورت وجود هرگونه خطائی در نحوه ی پر شدن آنها پیغام های خطای مناسب را برای آنها به نمایش در آورد .این کار علاوه بر بالا بدن سرعت ، بار عملیات سرویس گر را نیز کاهش میدهد .
CGI
یک CGI به زبان ساده ، برنامه ای است که به عنوان پلی بین سرویسگر HTTP SERVER وکاربران وب عمل میکند .
بدون وجود CGI ،سرویگر های وب مسئول دریافت ودرخواست کاربران مبنی بر ارسال صفحات وب (براساس انتخاب پیونده های ویژه توسط آنها )ومتعاقب آن ، فرستادن صفحات درخواستی بودند ، در صورتی که سرویسگر های وب معمولا تعدادی برنامه CGI دارند که براساس تقاضای کاربران ،میتوانند بر روی سرویسگر اجرا شوند .مثاله ای شایع برنامه های CGI ، آن دسته از برنامه ها هستند که برای پردازش پرسش نامه ها FORMS وهمچنین اجرای عملیاتی ،برروی بانک های اطلاعاتی بکار می روند .
پرسش نامه ها یکی از شایع ترین وساده ترین روش هایی هستند که باعث افزایش ارتباط متقابل با کاربران میشوند .این پرسش نامه ها بطور معمول دارای سؤلات وگزینه هایی هستند که کاربران میتوانند به آنها پاسخ داده ودر نهایت آنها به سرویسگر تسلیمSUBMIT نمایند .سپس یک برنامه CGI این اطلاعات را دریافت کرده ، بر روی آنها عملیاتی را انجام میدهد و در صورت لزوم پاسخی برای کاربر ارسال میکند .
مثال دیگر برنامه های پردازشگر بانک های اطلاعاتی میباشند .با استفاده از این برنامه های CGI ناشرین وب میتوانند اجزه دسترسی واستفاده از بانک های اطلاعاتی موجود بر روی سرویسگر را به کاربران خود اعطا نمایند .مثلا اگر از طرف کاربر تقاضای برای یک عمل جستجو SEARCH در یک بانک اطلاعاتی ارسال شود ، برنامه ی CGI مذکور میتواند آن را دریافت کند ،در بانک اطلاعاتی مزبور عمل جستجو را انجام دهد ودر نهایت نتیجه آن را به کاربر باز پس فرستد .
مثلا سایت YAHOO که یکی از سایت های مخصوص جستجو در اینترنت است .میتوان به طور مثال کلمه CGI را در محل وخصوص نوشته وکاربر قصد دارد دکمه SEARCH را فشار دهد .با فشار دادن این دکمه کلمه CGI به سرویسگر عرضه میشود . در آنجا بر روی بانک های اطلاعاتی موجود ،جستجو انجام شده ونتیجه آن برای این کاربر فرستاده می گردد.
در پایان ذکر این نکته ضروری است که گرچه CGI میتواند با استفاده از زبان های مختلف کامپیوتری نوشته شود دو تا از شایع ترین زبان ها برای خلق CGI ،PERL و C میباشد.
JSP (JAVA SERVER PAGES چیست؟
JSP یک تکنولوژی است که توسط شرکت SUN MICROSYSTEMS تعریف شده تا محتویات پویایی را در شبکه ایجاد نماید .آنها اسناد HTML هستند که در داخل آنها از کد های جاوایی استفده شده است ، تا محتویات پویایی را به وجود آورند .
JSP یک برنامه کاربردی است که بر روی سرویس دهنده قرار دارد ، آنها درخواست ها را گرفته وبه آنها پاسخ می دهند .به طور کلی در خواست ها از طرف سرویس گیرنده وب ارسال می گردد.از آنجایی که JSP یک برنامه کاربردی SERVER SIDE می باشد ، آنها به منابع سرویس ددهنده همانند SERVELT ها ، JAVABEAN ها ، EJB ها وبانک های اطلاعاتی دسترسی دارند.
سرویس گیرنده :
یک سرویس گیرنده شبکه ،سرویس گیرنده ای است که با یک سرویس دهنده با استفاده از پروتکل HTTP در ارتباط می باشد .سرویس گیرنده یک مرورگر شبکه را اجرا میکند .مانند IE یا NEVIGATOR NETSCAPE واسناد را با مشخص کردن URL (آدرس یک وب سایت ) در داخل مرورگر درخواست می نماید .
استفاده از تکنولوژی JSP دارای مزایای می باشد.از آنجایی که صفحات JSP از زبان برنامه نویسی جاوا استفاده می نمایند ، آنها سیاست “یک بار بنویس و در همه جا اجرا کن “را دنبال می کنند ،این به آن معنی است که صفحه JSP می تواند بدون هیچ تغییری در هر سرویس دهنده ی کاربردی که صفحات JSP را پشتیبانی می نماید ، اجرا شود.مزیت دیگر JSP این است که مشخصات آن به گونه ای نوشته شده است که عمل یکپارچه سازی با محیط برنامه نویسی مجتمع را بوجود آورده است..DES))
صفحات JSP را می توان در هر ویرایشگر متنی نوشت ؛ فقط باید مطمئن گردید که سند موردنظر را با پسوند JSP ذخیره می نمایید.این به آن معنی است که شما میتوانید JSP ها در برنامه NOTEPAD سیستم عامل ویندوز،یا EMACS سیستم عامل UNIX بنویسید .یک IDE که از صفحات نوشته شده JSP حمایت می نماید ، برنامه DREAM WEAVER می باشد که بخشی از WEBGAIN STUDIO می باشد.
مزیت دیگر JSP ها استفاده از تگ های کتابخانه ای میباشد .JSP از تگ هایی که به صورت مشابه در HTML وXML وجود دارند ،برای درج متن های پویا استفاده میکند.این امکان وجود دارد که بتوانیم با وارد کردن یک تگ کتابخانه ای ،امکانات اضافه ای را به صفحات JSP بیفزاییم .تگ کتابخانه ای ، تگ اضافه ای را تعریف میکنند که میتوانند برای جایگزین کردن بخش هایی از کد ها مورد استفاده قرار گیرند .
یکی دیگر از مزیت های مهم JSP جداسازس نقش ها می باشد.مشخصه های JSP این اجازه را می دهد که بار کاری به دو دسته تفکیک گردد:متن های گرافیکی صفحه ، ومتن های پویای صفحه .یک تیم خلاق که هیچ دانشی درباره زبان برنامه نویسی جاوا ندارد ، میتواند متن های گرافیکی صفحه را ایجاد کند.یک برنامه نویس جاوا سپس کد های جاوا را برای رسیدن به متن پویای صفحه در داخل سند HTML درج مینماید.
زمان نوشتن یک صفحه JSP ، نوشتن کد های HTML وسپس کد های جاوا برای ایجاد متن های پویا آسان تر باشد.بنابراین ،اگر قصد نوشتن HTML را ندارید ، به گرافیست های خود اجازه دهید که یک صفحه زیبا را طراحی نمایند وسپس کد های جاوا را به منظور ساختن صفحات JSP پویا وارد نمایید.
PHP
PHP سال ۱۹۹۴ توسط Rasmus Lerdorf ایجاد شد و مخفف واژگان Personal Home Pages به حساب می آید.
با گسترش قابلیت ها و موارد استفاده این زبان PHP در معنای Hypertext Preprocessor به کار گرفته شد. عبارت پیش پردازشگر (Preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان Html پردازش می کند.
مطابق مطالب سایت وب رسمی PHP که در آدرس قرار دارد، PHP زبان اسکریپتی سمت سرویس دهنده Html Embeded , Cross-Platform ,(Server-side) می باشد.
سمت سرویس دهنده بودن PHP بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (Server) انجام می گیرد. یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند.
چگونگی ادامه این روند را در درس های آتی توضیح داده خواهد شد.
منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل : Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.
PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Language) می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا می شوند. این رویدادها می توانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script می باشد که معمولا برای پاسخ به رویدادهای کاربر در مرورگر وب بــه کار می رود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) می باشد.
زبان هایی مانند Java Script یا PHP تفسیر شونده (Interpreted) نامیده می شوند. به عبــارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا می باشند.
پیاچپی (PHP) یکی از پر طرفدارترین زبانهای برنامه نویسی باز متن(Open Source) می باشد، که بیشتر برای طراحی برنامههای سمت سرور در وبگاههای پویا (Dynamic) مورد استفاده قرار میگیرد. PHP مخفف PHP: Hypertext Preprocessor (پیشپردازنده فرامتن) می باشد. پیاچپی در سال ۱۹۹۴ ایجاد شد. رسموس ردولف (Rasmus Lerdorf) ایجاد کننده اولیه آن بوده است ولی در طی زمان این زبان برنامهسازی، توسط سایر کارشناسان و برنامهنویسان تکمیل گردیده و به شکل کنونی آن درآمدهاست.
پیاچپی از زبانهای برنامهنویسی تحت وب است. ساختار این زبان بسیار شبیه(C) و وزبان برنامه نویسی(Perl) می باشد. شکل پذیری فوق العاده آن و نیز همگونی با اغلب بانک های اطلاعاتی از قبیل MY SQLقدرت آن را افزایش داده است.