با به كارگیری اسكریپت های روی سرویس دهنده ASP ، می توان طراحی صفحات وب و یا طراحی سایت حرفه ای با اجزای پویا داشت . اسكریپت های ASP می تواند توسط جاوا اسكریپت و VB اسكریپت ایجاد شود.
ASP یك فایل استاندارد HTML است كه با گروهی از تركیبات افزوده دیگر گسترش یافته است .
همانند فایل استاندارد HTML ، یك ASP می تواند شامل برچسب های HTML كه توسط مرورگر وب نمایش داده می شود باشد .
هر چیزی مثل اپلت ها جاوا ، متن چشمك زن ، اسكریپت ها و كنترل های اكتیواكس روی سرویس گیرنده ، كه بتواند در یك فایل HTMLجای دهید ، در یك ASP نیز جای می گیرد
ASPچند ویژگی دارد كه برخی از آنها را بر می شماریم :
ASPمی تواند اسكریپت های سمت سرویس دهنده را در بر داشته باشد .
ASPشماری از اشیای تعبیه شده را فراهم كرده است.
با به كارگیری اشیای تعبیه شده دسترسی پذیر در یك ASP می توان اسكریپت ها را بسیار نیرومندتر كرد ، در میان اشیای دیگر ، این شیی ها به ما اجازه دریافت و ارسال اطلاعات به مرورگر را می دهد .
برای نمونه با استفاده از شیی Request می توان اطلاعاتی را كه یك كاربر با فرم HTML فرستاده است ، دریافت و به آن اطلاعات توسط یك اسكریپت پاسخ داد .
یك ASP می تواند توسط اجزای افزوده گسترش یابد .
ASP با شماری از اجزای اكتیواكس ، روی سرویس دهنده استاندارد دسته بندی شده است . این اجزا به ما اجازه انجام كارهایی مانند تصمیم گیری در مورد توانایی های مرور گرهای گوناگون یا گنجاندن یك شماره صفحه ، در صفحه وب را می دهد . این بدان معناست كه هیچ مرزی در چگونگی گسترشASP ها وجود ندارد .
یك ASP می تواند اطلاعاتی را با پایگاه داده هایی مانند AQL Sarver یا Ms Access تبادل كند .
با استفاده از مجموعه ویژه ای از اشیا كه اشیا داده ای اكتیواكس نامیده می شوند ، میتوان بسیار ی از پایگاه داده ها را در ASP به كار گرفت .
به كارگیری اكتیوایكس ها شكل توانمندی از ASP ها است . با ASP هایی كه می توانند با یك پایگاه داده ای داد و ستد كنند ، سایت های وب بسیار پیشرفته ای ایجاد خواهند شد .
پس به طور كلی ، ASP یك صفحه استاندارد HTML است كه با اسكریپت های روی سرویس دهنده اشیا و اجزای گسترش داده شده باشد و توسط ASP می توان سایت های وبی را با اجزای پویا و اثرپذیر ساخت .
آنچه با ASP می توان انجام داد :
به طور كلی ASP توانایی های زیر را ایجاد می كند :
اطلاعات را از فرم ها دریافت و در یك پایگاه داده ذخیره كند .
ساخت یك صفحه وب شخصی از مشخصات متناوب كاربران را در بر داشته باشد .
ساخت یك شمارنده صفحه وب .
با توجه به ویژگی های مرورگرهای گوناگون ، صفحات وب گوناگون را نمایش دهد .
صفحات گوناگون را به هم پیوند دهد .
ASP چگونه كار می كند؟
شركت میكروسافت ، ASP را با سومین نسخه llS معرفی كرد . با این كار ، سرویس دهنده ای با محتوای ثابت و ایستا به یك سرویس دهنده با محتوای پویا و تأثیر پذیر تبدیل شد .
مهمترین كار llS ، سرویس دادن به صفحات HTML استاندارد است .
هنگامی كه كسی نیاز به یك صفحه وب داشته باشد ، از سرویس دهنده llS استفاده می كند و آن فایل ثابت HTML را از حافظه به دست می آورد و به مرورگر مشخص می فرستد .
llS از دیگر سرویس دهنده های وب جدا است . مهم ترین هدف سرویس دهنده وب ، سرویس دهی به فایل HTML های است .
سرویس دادن به فایل های HTML با گام های زیر پیموده می شود :
۱ ـ یك كاربر ، نشانی اینترنتی فایل HTML ی كه می خواهد را درون خط نشانی می نویسد و با فشردن كلید Enter این درخواست را می فرستد .
۲ ـ مرورگر این درخواست را برای یك سرویس دهده وب مانن llS می فرستد .
۳ ـ سرویس دهنده وب در خواست را دریافت می كند و تشخیص میدهد كه یك فایل HTML درخواست شده است ، زیر پسوند HTM یا HTML دارد .
۴ ـ سرویس دهنده وب آن فایل را از دیسك یا حافظه دریافت كرده ، برای مرورگر می فرستد .
۵ ـ فایل HTML توسط مرورگر شخصی ترجمه و تعبیر می شود و نتیجه در پنجره مرورگر نمایش داده می شود .
البته این فرایند ها اندكی پیچیده تر هستند ، اما این گام ها كاركرد بخش به بخش یك سرویس دهنده وب را نشان می دهند . یك سرویس دهنده ، درخواست را از فایل های ویژه می گیرد و با به دست آوردن آن فایل از یك سخت افزار یا حافظه و فرستادن آن فایل ، پاسخ می دهد .
AS دگرگونی هایی بسیار را از پی آورد و افزون بر اینكه llS می تواند بر سرویس HTML ایستا به كار می رود ، انجام خدمات HTMLپویا و تأثیر پذیر به همان خوبی گذشته نیز بر می آید . با به كارگیری ASP می توان صفحای با محتوای تازه برای پاسخگویی به درخواست های كاربر پدید آورد .
یك ASP با یك فایل HTML عادی تفاوتی بسیار دارد . یك فایل HTML عادی بدون پردازش به مرور گر فرستاده می شود . در یك فایل HTML ، نخست باید همه دستورها اجرا شوند تا یك صفحه HTML را به وجود آید . ASP در بیشتر موارد به صورت كامل مانند یك HTML معمولی كار می كند ، تنها فرقی كه دارد این است كه پسوند آن به جای htm به asp دگرگون شده است.
هنگامی كه درخواستی برای بدست آوردن یك ASP به وجود می آید ، مرور گر یك صفحه HTML عادی دریافت می كند و همین امر موجب سازگاری ASP با تمام مرورگر ها می شود .
در دنیای برنامه نویسی یک زبان وجود دارد به اسم زبان Script. این زبان در واقع باعث اجرای خودکار وظایف میشود. اگر از این زبان استفاده نشود، تک تک وظایف باید توسط یک عامل انسانی انجام شوند که طبیعتا کاری زمانبر است. یکی از زبانهای برنامه نویسی که با استفاده از این اسکریپتها عمل میکند، زبان ASP است که قصد داریم در این مقاله آن را به شما معرفی کنیم.
معرفی ASP
ASP یک نوع صفحهی HTML است که شامل یک یا چند اسکریپت (برنامههای جاسازی شدهی کوچک) میشود. این اسکریپتها روی وب سرور مایکروسافت پردازش میشوند و سپس صفحه HTML برای کاربر نشان داده میشود.
ای اس پی از این نظر که شامل تمام برنامههایی میشود که روی سرور اجرا میشوند شبیه به برنامهی CGI (رابط دروازهی مشترک) است. معمولا اسکریپت موجود در یک صفحهی وب از یک سری اطلاعات ورودی استفاده میکند.
این اطلاعات در واقع نتایج درخواست کاربر برای دسترسی به یک صفحه و دسترسی به دیتای موجود در پایگاه داده هستند. سپس اسکریپت قبل از اینکه صفحه را برای فرد درخواست دهنده ارسال کند، آن را در زمان اجرا شخصیسازی میکند.
ای اس پی در واقع یکی از ویژگیهای IIS مایکروسافت یا سرور اطلاعاتی اینترنت است. اما از آنجایی که اسکریپت سمت سرور (server-side) تنها یک صفحه HTML عادی میسازد، ای سی پی تقریبا روی تمامی مرورگرها کار میکند.
شما میتوانید با قرار دادن یک اسکریپت نوشته شده به زبان Jscript یا VBScript در یک فایل HTML، یک فایل ای اس پی بسازید. یکی از راههای دیگر ساخت این فایل، استفاده از دستورات برنامه ADOs در فایل HTML است.
در چنین فایل اچ تی ام الی باید پسوند فایل به «.asp» تغییر کند. مایکروسافت پیشنهاد میکند که از ای اس پی سمت سرور به جای اسکریپت سمت مشتری (client side) استفاده کنید. دلیل این موضوع این است که اسکریپت سمت سرور به راحتی نتایج خوبی را برای نمایش صفحات HTML به ما ارائه میکند. همچنین اسکریپتهای سمت مشتری ممکن است روی مرورگرهای قدیمی خوب کار نکنند.
تفاوت ASP و ASP.NET
هم ای اس پی و هم ASP.NET دو زبان برنامه نویسی هستند که به صورت گسترده برای اپلیکیشن و توسعهی فرانت-اند مورد استفاده قرار میگیرند. با این وجود این دو تفاوتهای مهمی هم دارند که در این بخش به آنها میپردازیم.
1. از نظر تعریف: ای اس پی یک سیستم اسکریپتینگ سمت سرور است که برای تولید پویای صفحات وب مورد استفاده قرار میگیرد، اما ای اس پی دات نت یک چارچوب وب سمت سرور و منبع باز است.
2. از نظر نوع زبان: ای اس پی یک زبان ترجمه شده است، یعنی در آن کامپایلر کد کامپایل شده را ترجمه میکند. از طرفی ای اس پی دات نت یک زبان کامپایل شده است و به عنوان زبانی کاملا شیء گرا شناخته میشود. در حالی که ای اس پی زبانی نیمه شیء گرا است.
3. از نظر مفهوم وراثت: در برنامه نویسی با زبانهای شیء گرا مفهومی وجود دارد به اسم وراثت. این مفهوم درست مثل وراثت به معنای جامع آن است. یعنی یک سری دادهها و متدها از یک دسته یا کلاس به دستهای کوچکتر به ارث میرسند. از آنجایی که ASP فقط تا بخشی شیء گرا است، این مفهوم در آن کاربردی ندارد. اما ASP.NET در کد خود از مفهوم وراثت پشتیبانی میکند.
4. از نظر رفع اشکال: امکان رفع اشکال و به حداقل رساندن خطا در ای اس پی دات نت بهتر و موثرتر از ای اس پی عمل میکند.
چرا از ای اس پی استفاده میشود؟
علتهای زیادی وجود دارند برای اینکه موقع طراحی یک وب سایت یا اپلیکیشن از ای اس پی استفاده کنید. سرعت بالا و پشتیبانی گسترده از قابلیتهای مختلف مهمترین فایدههای استفاده از ای اس پی است. ای اس پی در محیط آشنای سرور ویندوز ساخته میشود و نسبت به دیگر پلتفرمهای توسعهی وب نیاز به نصب و پیکربندی کمتری دارد. بقیهی برنامهها معمولا باید جداگانه نصب و پیکربندی شوند.
تقریبا هر اپلیکیشن با کیفیتی باید از یک سری منابع استفاده کند. اگر از چارچوب .Net در ای اس پی استفاده شود، ایجاد و پیدا کردن منابع بسیار راحتتر میشود. دلیل این موضوع این است که ای اس پی به شما اجازه میدهد تا دادههای خود را در یک فایل منبع ذخیره کنید و در صورت نیاز به راحتی از آنها استفاده کنید. وب سایتها و اپلیکیشنهایی که با ای اس پی ساخته میشوند از وب سایتهای طراحی شده با PHP سریعتر و با بازده بیشتری عمل میکنند.
ساختار ای اس پی
در این قسمت قصد داریم اجزای مختلف یک صفحهی ای اس پی را معرفی کنیم:
• دستورها: دستورها چگونگی کامپایل شدن یک صفحه را کنترل میکنند. در ابتدای هر دستور کاراکترهای <%@ و در انتهای آن کاراکترهای %> قرار داده میشوند. دستور ممکن است در هر جای صفحه مورد استفاده قرار بگیرد، اما معمولا در بالای یک صفحهی ای اس پی گذاشته میشود.
• کد بلاکهای اعلان (Declaration): این کد بلاکها شامل تمامی توابع، مسیرهای فرعی و متغیرهای مربوط به اعلان در یک صفحهی ای اس پی هستند.
• ابزارهای کنترل: ابزارهای کنترل میتوانند به صورت آزادانه در محتوای HTML و متن یک صفحه پخش شوند. تنها کار برای استفاده از آنها این است که باید در تگ
• نظرات سمت سرور: شما میتوانید با استفاده از بلاکهای شناخته شده به عنوان بلاکهای کامنت سمت سرور به صفحهی ای اس پی خود نظر اضافه کنید.
• دستور include: شما میتوانید با استفاده از یک یا دو دستور سمت سرور include، یک فایل را به صفحهی ای اس پی خود اضافه کنید.
• متن و تگهای HTML: آخرین بخشی که در یک صفحهی ای اس پی قرار داده میشود محتوای HTML آن است. بخش ثابت صفحهی شما از تگها و متنهای سادهی HTML تشکیل میشود.
ویژگیهای ای اس پی
1. عملکرد عالی
عملکرد یکی از مهمترین ویژگیهای یک نرم افزار است و ای اس پی به عنوان یکی از سریعترین چارچوبها برای طراحی سایت شناخته میشود. همچنین این نرمافزار بسیار کم حجم است و از مدلهای برنامه نویسی غیرهمزمان بهره میگیرد.
2. قابلیت پشتیبانی پلتفرمهای مختلف
ای اس پی به ویژه پس از اینکه به ای اس پی دات نت ارتقا یافت، به زبان بسیار خوبی برای طراحی اپلیکیشنها روی ویندوز، لینوکس و macOS تبدیل شد. یعنی اگر برنامهای را با این زبان طراحی کنیم میتوانیم از آن به راحتی روی تمام پلتفرمها استفاده کنیم.
3. مستقل بودن زبان در ای اس پی
این چارچوب وابسته به زبان خاصی نیست و برنامه نویسان میتوانند از ای اس پی در زبانهای مختلفی مثل C# استفاده کنند. بنابراین هر برنامه نویسی از هر زبانی که با آن آشنایی بیشتری دارد، استفاده میکند.
4. قابلیت پیشتیبانی از سوکتهای وب
سوکتها برای طراحی اپلیکیشنهایی مشتری-سرور استفاده میشوند. ای اس پی از این سوکتها پشتیبانی میکند و طراحان میتوانند در هنگام برنامهنویسی با این زبان، از سوکتها بهره بگیرند.
5. جهانی سازی و سازگاری با همهی مناطق
زمانی که ما یک سایت را روی هاست قرار میدهیم، میتوان به آن سایت از همه جای دنیا دسترسی داشت. زبان، زمان، فرمت تاریخ و فرمت اعداد برای مناطق یا کشورهای مختلف با هم فرق میکند. ای اس پی از قابلیت جهانیسازی پشتیبانی میکند تا افراد کشورهای مختلف بتوانند از این زبان و چارچوب استفاده کنند.
مزایای ای اس پی
1. به شما اجازهی تفکیک بخشهای مختلف اپلیکیشن مثل ورودی، واحد پردازش و خروجی را میدهد.
2. زمان کدنویسی را کاهش میدهد.
3. ویژگیهای منحصر به فردی مثل عملکرد بالا، مقیاسپذیری، قابلیت کامپایل همزمان، سازگاری با مناطق مختلف و ... را دارد.
4. ای سی پی دارای جعبه ابزار پیشرفتهای است که در ساخت چارچوب اپلیکیشن و سرعت بخشیدن به کار طراحان اهمیت زیادی دارد.
5. این چارچوب از نظر زبانی مستقل است، یعنی شما میتوانید از یک یا چند زبان دلخواه برای طراحی اپلیکیشن استفاده کنید.
6. کار با آن ساده است.
7. قابلیت شخصی سازی و گسترش پذیری دارد.
8. ویژگیهای امنیتی قابل توجهی دارد.
9. مدیریت آن آسان است.
10. قابلیت نظارت مداوم بر آن وجود دارد.
11.در پلتفرمهای مختلف قابل استفاده است.
معایب ای اس پی
1. با وجود آنکه امنیت را به عنوان یکی از مزایای این زبان برنامهنویسی معرفی کردیم، اما گاهی برای حفاظت از اپلیکیشنهایی که با آن ساخته میشوند نیاز به مراقبت فراوان هست.
2. استفاده از این زبانبرنامه نویسی هزینهبر است.
3. سندسازی این چارچوب چندان قوی نیست و ممکن است هنگام ساخت اپلیکیشن به مشکلاتی در این زمینه بربخورید. در برنامه نویسی سندسازی به متنی گفته میشود که در کد منبع نوشته میشود و برای ما توضیح میدهد که اپلیکیشن چگونه عمل میکند و چگونه باید از آن نرم افزار استفاده کنیم.
4. گاهی تغییراتی که روی اپلیکیشن انجام میدهید ممکن است روی نسخهی کنونی آن انجام شود اما در نسخههای بعدی دیگر کار نکند و مجبور باشید برای رفع این مشکل از GitHub استفاده کنید.
5. Porting (در دسترس قرار دادن اپلیکیشن از طریق یک درگاه الکترونیکی) اپلیکیشنهای ساخته شده با ای اس پی از یک سرور به سرور دیگر هزینهبر است.
تفاوت ASP با HTML
ای اس پی و HTML دو زبان رایج در دنیای برنامه نویسی وب هستند. این زبان برای توسعه و طراحی صفحات وب استفاده میشود. در این قسمت تفاوتهای عمده آن با ای اس پی را شرح میدهیم.
1. ای اس پی یک زبان سمت سرور است. یعنی کدی که با آن نوشته شده برای سرور فرستاده میشود تا پردازش شود. از طرف دیگر HTML یک زبان سمت مشتری است. یعنی بیشتر به رابطهایی که کاربر با آنها سر و کار دارد مربوط میشود. این رابط کاربری اغلب همان مرورگر موجود در سیستم کاربر است.
2. در HTML از تگها برای نوشتن کد استفاده شده و این کد توسط مرورگرها ترجمه میشود تا به شکل محتوا نشان داده شود. اما در ای اس پی برای نوشتن کد از زبان Script استفاده میشود، که این زبان به ما اجازه میدهد تا صفحات وب را به صورت پویا (dynamic) برنامه نویسی کنیم.
3. ASP برای صفحات وب پویا استفاده میشود اما HTML عمدتا برای طراحی صفحات وب ایستا به کار میرود.
4. ای اس پی به حروف کوچک و بزرگ حساس است اما HTML اینگونه نیست.
5. صفحات ای اس پی میتوانند به دیتابیس وصل شوند تا از محتوای آن استفاده کنند، در صورتی که HTML قابلیت وصل شدن به یک پایگاه داده را ندارد.
زبانهایی که کاربرد مشابه با ای اس پی دارند
ASP کلاسیک زبانی نسبتا قدیمی است و راستش را بخواهید عدهای حتی آن را منسوخ شده میدانند، اما ASP.NET همچنان توسط سایتهای زیادی استفاده میشود. برخی از زبانهای مشابه ای اس پی عبارتند از:
- C#
- Razor
- Python
- Java
- Node.js
- Rails
نصب ای اس پی
نصب ای اس پی روی پلتفرمهای مختلف کار سختی نیست. این کار را میتوانید با نصب IIS شروع و سپس افزونههای مربوط به .NET را به آن اضافه کنید. برای نصب ای اس پی ابتدا از سایتهای معتبر برنامهی IIS را دانلود کرده و سپس مراحل زیر را طی کنید:
1. فایل Server Manager را باز کنید.
2. روی گزینهی Add roles and features کلیک کنید.
3. گزینهی Installation type و سپس گزینهی Role-based or feature-based installation را انتخاب کنید و به صفحهی بعدی بروید.
4. در این بخش لیستی از سرورها میبینید که باید سروری که به آن نیاز دارید را از بین آنها انتخاب کنید.
5. گزینهی وب سرور (IIS) را انتخاب کنید. برای اضافه کردن ای اس پی و افزونههای آن باید روی گزینهی Add Features کلیک کنید.
6. در مرحلهی بعد با باز کردن بخش Application Development میتوانید گزینهی مربوط به ASP و ای اس پی دات نت را انتخاب کنید.
7. در مراحل بعدی لازم نیست به تنظیمات دیفالت نصب کاری داشته باشید و فقط روی گزینهی Install کلیک کنید.
نمونهای از کد نوشته شده با ASP
برنامه نویسان با استفاده از ای اس پی کدهای پیشرفتهای مینویسند. اما ما قصد داریم نحوهی کدنویسی در این زبان را با مثالی خیلی ساده به شما نشان بدهیم. اگر بخواهید با استفاده از تگهای HTML جمله سادهای با متن «Hello World!» بنویسید و این متن را به حالت تیتری درشت نمایش بدهید باید از چنین کدی استفاده کنید:
ASP can output HTML tags as well as plain text :
<%
Response.write(“Hello World!”)
%>
ASP یکی از زبانهای نسبتا قدیمی در برنامه نویسی است که برای توسعهی اپلیکیشنهای وب و فرانتاِند سایت مورد استفاده قرار میگیرد. با روی کار آمدن زبانهای جدید و پیشرفته در گذر زمان، استفاده از ای اس پی کمتر شده است اما ASP.NET هنوز کاربرد زیادی در سایتهای مختلف دارد. این زبان برنامهنویسی قابلیتهای گسترده، عملکرد خوب و انعطافپذیری زیادی از نظر زبانی دارد و به راحتی روی پلتفرمهای مختلف مثل ویندوز، لینوکس و macOs قابل استفاده است.