آموزش گام به گام ASP
ASP یا (Active Server Pages ) چیست؟
با گذشت سالهای متمادی، ما تغییرات مهمی را در موضوع اینترنت مشاهده می نماییم. ابتدا، اینترنت به منظور یک سرویس دهنده ارتباطات متوسط برای بخشهای دولتی و موسسات دانشگاهی بود. با پیدایش www، اینترنت یک محیط دوستانه چند رسانه ای شد. در اصل سرویس دهنده اینترنت به عنوان یک مکان برای آدمهای با ذوق به منظور خلق صفحات خانگی بود. اما هر چه افراد بیشتری به اینترنت وارد شدند، اینترنت به یک منبع اطلاعاتی برای همه افراد تبدیل شد. وقتی تعداد افراد Online به یک محدوده بحرانی رسید، شرکتهایی که محصولات و خدمات را می فروختند شروع به فروش اینترنتی کردند.
این شرکتها هیچ حضور فیزیکی نداشتند، فقط یک حضور مجازی داشتند! برای مثال شما میتوانید از سایت Amazon.com کتاب بخرید، اما شما قادر نخواهید بود که کتابفروشی Amazon.com را در نزدیکی خود پیدا کنید.
همانگونه که اینترنت به صورت یک فروشگاه موفق شد، طراحی صفحات وب سایت ها هم تغییر پیدا کرد. در روزهای اولیه وب،HTML به منظور ایجاد صفحات وب ایستا استفاده می شد. اما امروزه، صفحات وب ایستا به سرعت در حال منسوخ شدن میباشند. تصور کنید اگر Amazon.com تنها از صفحات وب ایستا تشکیل شده بود! شما نمی توانستید فهرستهای کتاب جستجو کنید. شما نمی توانستید یک در خواست را به صورت Online صادر کنید، شما نمی توانستید توضیحات کاربران دیگر را بخوانید. این است دلیل یک سرمایه گذاری مطمئن که اگر Amazon.com از صفحات وب پویا (Active Server Pages)استفاده نمی کرد، نمی توانست کتابهای زیادی بفروشد.
شما میتوانید صفحات وب پویا را از راههای زیادی ایجاد نمایید. راه حل مایکروسافت برای ساختن صفحات وب پویا استفاده از Active Server Pages ها می باشد که بصورت مختصر بر آن ASPمی گویند.
سایت های وب بزرگ زیادی از ASP به منظور سرویس دادن پویا به اسناد وب استفاده می کنند. برای مثال Buy.com, HotBot.com, Dell.com از ASP برای ساخت سایت های وب پویای محاوره ای خود استفاده کردند.
Re: ASP چیست؟
ASP شامل دوبخش می باشد:
۱- کدهای برنامه نویسی
۲- کدهای HTML. کدهای برنامه نویسی میتوانند به وسیله تعدادی از زبانهای دست نویس (Scripting Language) نوشته شوند.
یک زبان دست نویس(Scripting Language) یک دستور زبان مخصوص است که برای اجرای دستورات بر روی کامپیوتر استفاده می شود.
زبانهای اسکریپت نویسی دست نویس(Scripting Language) مربوط به وب که محبوب می باشند عبارتند از: VBScript و JavaScript. وقتی یک صفحه ASP درست می کنید، شما میتوانید از یکی از چهار زبان برنامه نویسی استفاده کنید.(شبیه به دستورات زبان Visual Basic)
تعریف زبانهای دست نویس
VBScript: معمولترین زبان برنامه نویسی تحت وب برای ASPمی باشد.
JScript: شبیه به JavaScript میباشد.
PerlScript: شبیه به زبان Perlمیباشد.
Python: یک زبان اسکریپت نویسی قدرتمند می باشد که بطور معمول برای توسعه وب به کار می رود.
حال، چطور یک سرویس دهنده وب تعیین می کند که سرویس گیرنده یک صفحه HTML ایستا را درخواست کرده است یا یک صفحه ASP را؟ سرویس دهنده وب بوسیله پسوند صفحه وب، این موضوع را تعیین می نماید. به همین دلیل است که وقتی شما یک صفحه ASP را ایجاد می کنید باید پسوند آن را .aspقرار دهید. با این کار سرویس دهنده وب می فهمد که قبل از فرستادن خروجی برای سرویس گیرنده باید کد برنامه نویسی را پردازش نماید.
اجازه دهید به صورت مختصر به یک صفحه ASP نمونه نگاهی بیندازیم. کد زیر شامل کدهایی می باشد که زمان و وقت فعلی را نمایش میدهند. برای اجرای کد شما در ابتدا نیاز به یک خدمات دهنده وب بر روی کامپیوترتان دارید. در این مورد در قسمت اجرای صفحات ASP بحث خواهیم نمود. در حال حاضر کد زیر را به منظور این ببینید که یک صفحه ASPچگونه بنظر میرسد اجرا نمایید.
کد:
<%”@Language=”VBScript %>
<html>
<body>
The current time is:
<% ()Response.Write Time%>
</body>
</html>
توجه کنید که کد ASP بوسیله علامت <% %> احاطه شده است. وقتی یک صفحه ASP از یک سرویس دهنده وب درخواست می گردد، سرویس دهنده وب به طور کامل همه کدهای مابین علامت <% %> را قبل از فرستان خروجی برای سرویس گیرنده پردازش می کند. کد بالا ممکن است شباهت زیادی به فایل HTML واقعی داشته باشد. در حقیقت، تنها کد ASP خطوط ۱و ۵ می باشد. خط ۱ به سرویس دهنده وب اطلاع میدهد که زبان Scripting در این صفحه ASP بکار رفته است. آن هم از نوع VBScript. به خاطر بیاورید که یک صفحه ASP می تواند از یکی از چهار زبان اصلی اسکریپت نویسی استفاده نماید.برای تعیین کردن یک زبان اسکریپت نویسی، برای یک صفحه ASP، شما از فرمان Language @ استفاده می کنید. اگر می خواستید از JScript بجای VBScript در مثال بالا استفاده کنید، باید خط اول کد بالا را بصورت زیر بنویسید:
کد:
<% “Language= “Jscript@ %>
خط دوم از کد بالا وقت و زمان فعلی را نشان میدهند. تابع ( ) Time یک تابع VBScript می باشد .قسمت Response.Write نتایج حاصل از تابع ( ) Time را به سرویس گیرنده به عنوان خروجی می فرستد.
اگر یک سرویس دهنده وب مابکروسافت بر روی کامپیوترتان دارید، میتوانید کدهای بالا را آزمایش نمایید. یک فایل با نام current-time.asp ایجاد کرده و آنرا در دایرکتوری ریشه سایت وب(wwwroot) خود قرار دهید. سپس ،مرورگر مورد علاقه خود را باز کرده و صفحه ASP را ببینید.
URLی که شما باید تایپ کنید به صورت زیر است:
کد:
http://localhost/current-time.asp
خروجی:
کد:
The current time is: 10.26.57 AM
فرق ASP با Client Side Scripting
مهم است بدانید که کدهای ASP فقط بر روی سرویس دهنده وجود دارند.کد ASP ، که به وسیله محدود کننده های <% , %> محصور می شوند به وسیله سرویس دهنده به صورت کامل پردازش میگردند . سرویس گیرنده به این کدهای ASP دسترسی ندارد.
Client side scripting کدهای برنامه نویسی ای است که در یک فایل HTML بر روی مرورگر اجرا می گردد.
کدهای اسکریپت نویسی Client Side شبیه کدهای HTML می باشند و به وسیله تگ HTML <Script> فهمیده می شوند.
مقایسه بین صفحات HTML و ASP
مشاهده یک صفحه وب به این صورت است که وقتی شما یک آدرس رو در نوار آدرس مرورگر خودتون تایپ می کنید مثلا : http://www.yahoo.com مرورگر یک درخواست به سرور می فرستد . سرور به درخواست مرورگر شما پاسخ می دهد و سند درخواستی شما رو برمی گرداند ( البته این بین DNS ها آدرس IP دامین سایت رو پیدا و مشخص می کنند + یک سری کارهای دیگر که به این مسائل کاری نداریم ) . اگر این سند یک فایل قابل نمایش برای مرورگر باشد ، کد اون فایل توسط مرورگر ترجمه می شود و شما اطلاعات فایل رو می بینید . اگر هم قابل نمایش نباشد برنامه مرورگر سعی در بارگذاری ( دانلود ) اون فایل می کند . با یک مثال معنی این حرف ها رو روشن می کنم .
فرض کنید شما آدرس زیر رو در مرورگر خودتون تایپ کنید :
http://www.microrayaneh.com/Articles/ArticlesList.htm
این درخواست یک فایل از نوع HTML است . HTML مخفف Hyper Text Markup Language به معنی زبان نشانه گذاری ابرمتن است . اگر چنین فایلی روی سرور سایت وجود داشته باشد . مرورگر کد فایل رو ترجمه می کند و شما صفحه somepage.htm رو می بینید . برای دستیابی به کد یک صفحه از نوعHTML در اینترنت اکسپلورر می تونید از منوی View گزینه Source رو انتخاب کنید . این کد چیزی شبیه به کدهای زیر خواهد بود :
کد:
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1252″>
<title>Page Title</title>
</head>
<body>
……
</body>
</html>
نمونه سورس یک فایل HTML . به جای نقطه چین ها عناصری قرار می گیرد که باید در صفحه نمایش داده شود.اما فرض کنید فایل HTML ای که شما درخواست کرده اید روی سرور سایت وجود نداشته باشد . در این صورت شما یک پیغام خطا دریافت خواهید کرد ( خظای ۴۰۴ ) مبنی بر این که مرورگر موفق نشده است فایل مورد نظر شما را پیدا کند حالا فرض کنیم شما در نوار آدرس مرورگر خودتون آدرس یک فایل رو تایپ کنید که قابل نمایش نیست . مثل فایل های exe یا zip یا mp3 و … . در این صورت برنامه مرورگر سعی می کند فایل مورد نظر رو دانلود کند.
اما بالاخره فرق یک صفحه ASP با یک صفحه HTML در چیست ؟
صفحات HTML استاتیک هستند یعنی به صورت پویا تغییر نمی کنند ، اگر بخواهید یک صفحه HTML چیزی غیر از آنچه که در حال حاضر نمایش می دهد رو نشان بدهد چاره ای جز دست بردن در سورس صفحه نیست .
اما یک صفحه ASP به دلیل اینکه مجموعه ای از اسکریپت ها و کدهای HTML هست این قابلیت را دارد که به صورت خودکار و بر اساس شرایط محتوای مختلفی رو نمایش بدهد . همیشه برای اینکه کاربرد صفحات ASP در ساخت سایت های دینامیک مشخص شود از مثال مسابقات فوتبال استفاده می کنم .
فرض کنیم از شما خواسته شود که یک صفحه طراحی کنید برای نمایش جدول مسابقات لیگ برتر کشور .
خوب اگر شما به صورت عادی و با استفاده از جدول های HTML کار رو پیاده سازی کنید مجبور هستید هر بار که مسابقه ای انجام می شود ، خودتون بررسی کنید که جایگاه هر تیم چه تغییری می کند ، امتیازات و تفاضل گل و بقیه چیزها رو هم خودتون حساب کنید و بعد بر اساس اون صفحه رو یک بار دیگر طراحی کنید . این بار با یک جدول که بر اساس اطلاعات جدید طراحی شده است . این یک کار وقت گیر و بیهوده است . تازه امکان اشتباه هم کم نیست . اما حالا اگر فرض کنیم که این پروژه رو با ASP پیاده سازی کرده باشیم . بر این اساس فقط باید یک سرویس طراحی کنیم که یک نفر نتیجه هر مسابقه رو وارد کند. نتایج برای پردازش به سرور فرستاده می شود ، بعد از پردازش بر اساس اسکریپت هایی که داخل صفحه هست ، جدول به روز می شود.