یادداشت ویراستار: اصل این مطلب در فروردین ۹۸ نوشته شده بود و در بهمن ۹۹ دوباره بررسی و بهروز شده است.
در این مقاله به موضوع وب سرور چیست و انواع آن میپردازیم. با توسعه شبکه آداکهمراه باشید.
- وب سرور چیست؟
- وظیفه سرور HTTP چیست؟
- وب سرور استاتیک و دینامیک چیست؟
- انتخاب تامین کننده هاستینگ مناسب
- وب سرویس چیست؟
- انواع وب سرور
وب سرور چیست؟
وب سرور وظیفه نگهداری و تحویل انواع محتوا را از وب سایت به کلاینت درخواست کننده برعهده دارد. این محتوا شامل متن، عکس، ویدئو و انواع اپلیکیشن داده است. رایجترین کلاینتها برنامههای مرورگر وب هستند و در صورت کلیک روی لینکی خاص و یا دانلود فایل از صفحهای از وب، درخواست برای وب سرور ارسال میشود. در ادامه تفاوت سرور و وب سرور بریتان مشخص میشود.
معنی وب سرور عبارت است از: میزبانی برنامههای مبتنی بر وب. بعد از نصب وب سرور، کاربران میتوانند این برنامهها را استفاده کرده و فایلها را دانلود کنند.
کاربرد وب سرور عبارت است از: برای دستیابی به صفحه وب، مرور شما درخواستی به وب سرور میفرستد تا فایل درخواست شده را از بین فایلهای ذخیره روی خودش پیدا کند. اگر فایل پیدا شود، سرور آن را میخواند و در صورت نیاز آن را پردازش میکند و به مرورگر میفرستد.
وب سرور شامل دو بخش سخت افزار و نرم افزار است که با هم کار میکنند:
در قسمت سخت افزاری، وب سرور کامپیوتری است که نرم افزار وب سرور و فایلهای وب سایت را ذخیره میکند. فایلهای وب سایت عبارتند از مستندات HTML و عکس و CSS و فایلهای جاوا اسکریپت و فونت و ویدئو. وب سرور به اینترنت وصل میشود و تبادل فیزیکی دیتا با دیگر دستگاههای متصل به وب را پشتیبانی میکند.
در قسمت نرم افزاری، وب سرور شامل قسمتهای مختلفی است که چگونگی دسترسی کاربران به فایلهای هاست شده را کنترل میکند. این قسمت را سرور HTTP مینامند. سرور HTTP نرم افزاری است که پروتکل HTTP و آدرس های وب – URL ها را میداند. پروتکل HTTP پروتکلی است که مرورگر شما برای دیدن صفحات وب استفاده میکند. سرور HTTP از طریق نام های دامنه وب سایت ها که ذخیره کرده است قابل دسترسی است و محتوای این وب سایت های هاست شده را به دستگاه کاربر منتقل میکند.
برای آشنایی با دامنه و نام دامنه مقاله “دامنه چیست؟” را مطالعه کنید.
وظیفه سرور HTTP چیست؟
هر گاه مرورگری به فایلی که روی وب سرور هاست شده نیاز داشته باشد، مرورگر فایل را از طریق HTTP درخواست میکند. وقتی درخواست به وب سرور (سخت افزار) درست برسد، سرور HTTP (نرم افزار) درخواست را قبول کرده و فایل مورد درخواست را پیدا کرده و از طریق HTTP به مرورگر میفرستد. اگر سرور فایل درخواست شده را پیدا نکند ارور ۴۰۴ برمیگرداند.
وب سرور از HTTP پشتیبانی میکند. HTTP مخفف Hypertext Transfer Protocol است و همان طور که از نامش پیداست، چگونگی انتقال هایپر تکست یا همان مستندات وب را بین دو کامپیوتر انجام میدهد. این پروتکل مجموعه قوانینی برای ارتباط بین دو کامپیوتر است مثلا:
- فقط کلاینت میتواند درخواست HTTP بدهد و فقط به سرور این درخواست را میفرستد و سرور هم فقط به کلاینت پاسخ میدهد.
- وقتی درخواست فایل از طریق HTTP انجام میشود، کلاینت باید URL فایل را وارد کند.
- وب سرور باید به تمام درخواستهای HTTP پاسخ دهد؛ حداقل یک پیام خطا صادر کند.
در وب سرور، سرور HTTP مسئول پردازش و پاسخ به درخواستهای ورودی است:
- با دریافت درخواست، سرور HTTP ابتدا بررسی میکند URL درخواستی با فایل موجود همخوانی دارد یا نه.
- اگر موجود باشد، وب سرور، محتوا را به مرورگر برمیگرداند اگر موجود نباشد، اپلیکیشن سرور، فایل لازم را میسازد. (در ادامه با وظیفه اپلیکیشن سرور آشنا میشوید.)
- اگر هیچ یک از این کارها قابل انجام نباشد، وب سرور پیام خطا به مرورگر میفرستد که معمولا خطای ۴۰۴ است.
وب سرور استاتیک و دینامیک چیست؟
برای انتشار وب سایت به وب سرور استاتیک یا وب سرور دینامیک نیاز دارید:
وب سرور استاتیک یا Stack شامل کامپیوتر (سخت افزار) و سرور HTTP (نرم افزار) است. از این جهت استاتیک نامیده میشود چون سرور فایلهای هاست شده موجود را به مرورگر میفرستد.
وب سرور دینامیک شامل وب سرور استاتیک به علاوه نرم افزار اضافی است که معمولا اپلیکیشن سرور و دیتابیس سرور است. از این جهت دینامیک نامیده میشود چون سرور اپلیکیشن، فایلهای هاست شده را قبل از ارسال محتوا به مرورگر از طریق سرور HTTP، آپدیت میکند.
مثلا برای تولید صفحات وب نهایی که شما در مرورگر میبینید، سرور اپلیکیشن باید تمپلیت HTML را با محتوای گرفته شده از دیتابیس پر کند. سایتهایی مانند MDN و Wikipedia صدها صفحه وب دارند. این نوع سایتها به جای اینکه هزاران داکیومنت استاتیک HTML داشته باشند، از تعداد محدودی تمپلیت HTML و دیتابیس بزرگی تشکیل شده است. بدین ترتیب نگهداری و ارایه محتوا راحتتر است.
ساخت وب سایت استاتیک آسانترین تنظیمات را دارد بنابراین پیشنهاد میشود اولین وب سایت خود را استاتیک بسازید. در حالت دینامیک، سرور محتوا را پردازش و در صورت لزوم آن را با استفاده از دیتابیس ایجاد میکند. این پروسه باعث انعطاف پذیری بیشتر میشود. اپلیکیشن سرورهای زیادی وجود دارد مثلا برای بلاگها و Wiki ها یا eCommerce. اگر وب سایت دینامیک بسازید باید تکنولوزی مناسب با نیازهایتان را انتخاب کنید.
انتخاب تامین کننده هاستینگ مناسب
شما میتوانید تمام فایلهای وب سرور را روی کامپیوتر خودتان ذخیره کنید اما راحتتر است اگر آنها را روی وب سرور اختصاصی ذخیره کنید چون:
- وب سرور اختصاصی معمولا بیشتر قابل در دسترس است یعنی همیشه روشن و در حال کار است.
- در صورت بروز دان تایم و مشکلات سیستمی، وب سرور اختصاصی همیشه به اینترنت وصل است.
- وب سرور اختصاصی میتواند همواره یک آی پی آدرس داشته باشد که آی پی آدرس اختصاصی نام دارد.
- وب سرور اختصاصی معمولا توسط شرکت ثالثی تامین میشود.
با تمام این دلایل پیدا کردن تامین کننده هاستینگ خوب نقطه کلیدی در ساخت وب سایت شما است. شرکتهای مختلف را بررسی کنید و بهترین وب سرور را از میان شرکتهایی که نیازهای شما را برآورده میکنند و هزینه مناسبی دارند را انتخاب کنید.
وب سرویس چیست؟
رسیدیم به اینکه ببینیم Web service چیست. وب سرویس هر نرم افزار و اپلیکیشن و تکنولوژی کلود است که پروتکلهای استاندارد وب مانند HTTP و HTTPS را فراهم میکند تا از طریق اینترنت، دیتا تبادل شود مثلا XML – Extensible Markup Language.
اپلیکیشن میتواند به زبانهای مختلفی نوشته شود اما ویژگی مهم وب سرویس این است که از طریق وب سرویس امکان برقراری ارتباط بین انواع اپلیکیشنها و انتقال دیتا بین کلاینت و سرور وجود دارد. مثلا وب سرویس ارتباط بین چندین اپ را با HTML و XML و WSDL و SOAP و UDDI و REST و غیره برقرار میکند. XML دیتا را تگ میکند، SOAP پیغام را منتقل میکند و WSDL قابلیت دسترسی سرویس را مشخص میکند.
تفاوت وب سرور و وب سرویس اینجا مشخص شد: وب سرویس توسط وب سرور اجرا میشود و دادههای خام را به صورت دادههای ساختار یافته ارایه میدهد.
انواع وب سرور
انواع وب سرور به شرح است:
- اپلیکیشن سرور
- پروکسی سرور
- میل سرور
- DHCP سرور
- DNS سرور
- دیتابیس سرور
- فایل سرور
- پرینت سرور
هر یک از این سرورها کاربرد و ویژگیهای خاص خودش را دارد و در راه اندازی وب سایت خود باید هر یک را به درستی پیاده سازی کنید.
برای اشنایی با انواع سرور مقاله “سرور چیست؟” را مطالعه کنید. برای بررسی بیشتر پرینتر سرور و فایل سرور، مقالات “پرینتر سرور چیست؟” و “فایل سرور چیست؟” را مطالعه کنید.
۴ وب سرور اصلی وجود دارد که میتوانید از آنها استفاده کنید:
- Apache: وب سرور آپاچی محصول شرکت آپاچی است.
- IIS: وب سرور iis محصول شرکت مایکروسافت است.
- nginx: محصول شرکت NGINX است و Engine X تلفط میشود.
- GWS: محصول گوگل و مخفف Google Web Server است.
وب سرور آپاچی چیست؟
این وب سرور روی پلتفرم لینوکس و ویندوز و یونیکس و MacOS قابل تصب است و پرطرفدارترین وب سرور در دنیا است. شاید بتوان دلیل آن زا پشتیبانی از زبانهای TCL و Python و Perl و PHP، ماژولار و متن باز بودن، پایداری، انعطاف پذیری و عیب یابی آسان آن دانست.
وب سرور iis چیست؟
iis دومین وب سرور محبوب دنیاست که در ادامه به بررسی آن میپردازیم. مطالعه مقالات “آموزش کامل نصب iis روی ویندوز سرور ۲۰۱۹” و “آموزش کامل نصب iis روی ویندوز ۱۰” در زمینه iis مفید است.
IIS 6.0 وب سرور یکپارچه مایکروسافتی و مخصوص ویندوز سرور است که کاربران را قادر به ایجاد و مدیریت وب سایتهای سازمان میسازد. کاربران با IIS قادر به ایجاد و مدیریت وب سایتها، و اشتراک گذاری و توزیع اطلاعات در فضای اینترنت و اینترانت هستند.
با معرفی ویندوز سرور ۲۰۰۳، IIS 6.0 نیز معرفی شد، که شامل نسخههای ۳۲ و ۶۴ بیتی از ویندوز سرور است. IIS 6.0 شامل پشتیبانی از برخی پروتکلها و ابزارهای مدیریتی است که کاربران را قادر میسازد تا سرور را به عنوان وب سرور، سرور (FTP (File Transfer Protocol یا سرور (SMTP (Simple Mail Transport Protocol پیکربندی کنند. ابزارهای مدیریتی ویندوز سرور به کاربران امکان مدیریت IIS را در پلتفرمهای ویندوز سرور میدهد.
قبل از اینکه امکان پیاده سازی IIS 6 Web server ها در سطح انترپرایز برای کاربر وجود داشته باشد، کاربر ابتدا باید ویندوز سرور را نصب و یا ویندوز قبلی را به ویندوز سرور ۲۰۰۳ به بالا آپدیت کند. بعد از نصب ویندوز سرور ، امکان نصب IIS 6.0 برای تمام نسخههای ویندوز سرور به غیر از نسخهی Web Edition از طریق Configure Your Server Wizard وجود دارد.
زمانی که کاربر برای اولین بار بعد از نصب ویندوز سرور به سیستم لاگین کند، Manage Your Server Wizard فعال میشود. برای شروع Configure Your Server Wizard، لینک Add Or Remove A Role را انتخاب کنید و سپس مراحل ویزارد را برای نصب اپلیکیشن سرور (IIS و ASP.NET) دنبال کنید.
پروتکلهای وب سرور یکپارچه مایکروسافتی IIS 6.0
پروتکلهایی که وب سرور یکپارچه مایکروسافتی IIS 6.0 پشتیبانی میکند را در ادامه میخوانیم:
- (HTTP (Hypertext Transfer Protocol که پروتکل لایه اپلیکیشن TCP/IP است، برای اتصال وب سایتها و ایجاد محتوای تحت وب استفاده میشود. HTTP مدیریت انتشار محتوای تحت وب استاتیک و داینامیک را بر عهده دارد. HTTP Session شامل اتصال، در خواست HTTP و پاسخ HTTP است.
- پورت ۸۰ که برای اتصالات HTTP استفاده میشود. کلاینت، از طریق TCP three way handshake، اتصال TCP با سرور برقرار میکند.
- بعد از برقراری اتصال، کلاینت به سرور، پیام درخواست HTTP GET را ارسال میکند.
- سرور، صفحه وب درخواستی را به کلاینت میفرستد.
- HTTP Keep-Alives اتصال TCP را بین کلاینت و سرور برقرار نگه میدارد و در صورتی که فعال باشد، کلاینت میتواند صفحات دیگری را درخواست دهد.
- در صورتی که HTTP Keep-Alives فعال نباشد، بعد از اینکه صفحه درخواست شده، دانلود شد، اتصال TCP خاتمه مییابد.
- FTP پروتکل TCP/IP در لایه اپلیکیشن است که از پروتکل TCP برای کپی فایلها از / به سیستمهای راه دور استفاده میکند. FTP به کلاینتها امکان آپلود و دانلود فایلها را از سرور FTP موجود در شبکه داخلی میدهد. کاربران میتوانند از طریق IIS سرورهای FTP را ایجاد و مدیریت کنند. سرور FTP و سرویس گیرنده FTP باید از این پروتکل استفاده کنند. FTP Session دارای اتصال، درخواست و پاسخ است.
- سرویس گیرنده با استفاده از پورت ۲۱، اتصال TCP به سرور FTP را ایجاد میکند.
- شماره پورتی روی ۱۰۲۳ به کلاینت اختصاص داده میشود.
- کلاینت دستور FTP را به پورت ۲۱ ارسال میکند.
- اگر کلاینت نیاز به دریافت اطلاعات دارد، برای انتقال اطلاعات، اتصال دیگری با او برقرار میشود و این اتصال از پورت ۲۰ استفاده میکند.
- بعد از انتقال اطلاعات به کلاینت، اتصال دوم در حالت TIME_WAIT باقی میماند تا امکان انتقال اطلاعات بیشتر فراهم باشد و زمانی قطع میشود که حالت TIME_WAIT خاتمه مییابد (Time Out شود).
- پروتکل NNTP، پروتکل TCP/IP در لایه اپلیکیشن است که برای ارسال پیامهای خبری به سرورها و کلاینتهای NNTP در اینترنت استفاده میشود. NNTP، پروتکل کلاینت/سرور و سرور/سرور است. پروتکل NNTP، هاست NNTP را قادر میسازد تا لیستی از گروههای خبری و پیامها را از طریق newsfeed ها و با استفاده از روش Push و Pull، روی هاست دیگر Replicate کند. سرویس گیرنده NNTP اتصالی با هاست NNTP برای دانلود لیستی از گروههای خبری و پیامهای آنها ایجاد میکند.
کاربران با NNTP میتوانند اخبار خصوصی سرورها را به گروههای درگیر، هاست کنند و یا اخبار عمومی سرورها را به مشتریانی که منابع را برای کاربران اینترنت، پشتیبانی میکنند ارایه دهند. میتوان مشخص کرد که چه کاربرانی، امکان خواندن و ارسال مطالب به Newsgroup ها را داشته باشند و یا دسترسی آنها به همه کاربران، باز باشد.
سرویس NNTP میتواند با سرویس Windows Indexing Service یکپارچه باشد تا با استفاده از WIS، محتوای newsproup ایندکس شود. این کار با مانیتورینگ کارایی و رویدادهای ویندوز سرور کاملا یکپارچه است.
- پروتکل SMTP از پروتکلهای TCP/IP لایه اپلیکیشن است که وظیفهی مسیریابی و انتقال ایمیلها بین هاستهای SMTP در اینترنت را بر عهده دارد. SMTP ماشینهای IIS را به عنوان هاستهای SMTP برای ارسال ایمیل در بستر اینترنت فعال میکند.
از IIS میتوان به جای Sendmail استفاده کرد. SMTP ماشینهای IIS را قادر به حفاظت از Mail serverهایی مانند سرور Microsoft Exchange در برابر حملات مخرب میسازد که این کار را در ISP سازمان و بین این سرورها و Sendmail host انجام میدهد. از SMTP میتوان برای ارسال ایمیل بین SMTP هاستها استفاده کرد. اما SNTP نمیتواند به طور مستقیم، ایمیلی به کلاینت ارسال کند.
Mail Client ها برای دریافت ایمیل از پروتکل POP3 و IMAP استفاده میکنند. ویندوز سرور ۲۰۰۳ شامل سرویس POP3 است تا بتواند به سرویس گیرندگان، Mailbox ارائه دهد و ایمیلهای دریافتی را مدیریت کند. اگر نسخهی ویندوز سرور شما به غیر از نسخهی Web Edition است، برای اینکه بتوان از SMTP به عنوان مولفه IIS استفاده کرد، ابتدا باید سرویس SMTP را نصب کنید. سرویس SMTP به صورت پیش فرض روی نسخهی Web Edition ویندوز سرور ۲۰۰۳ به بعد نصب است.
وب سرور استاتیک یا Stack شامل کامپیوتر (سخت افزار) و سرور HTTP (نرم افزار) است. از این جهت استاتیک نامیده میشود چون سرور فایلهای هاست شده موجود را به مرورگر میفرستد.
وب سرور دینامیک شامل وب سرور استاتیک به علاوه نرم افزار اضافی است که معمولا اپلیکیشن سرور و دیتابیس سرور است. از این جهت دینامیک نامیده میشود چون سرور اپلیکیشن، فایلهای هاست شده را قبل از ارسال محتوا به مرورگر از طریق سرور HTTP، آپدیت میکند.”
}
},{
“@type”: “Question”,
“name”: “انتخاب تامین کننده هاستینگ مناسب”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “با تمام این دلایل پیدا کردن تامین کننده هاستینگ خوب نقطه کلیدی در ساخت وب سایت شما است. شرکتهای مختلف را بررسی کنید و بهترین وب سرور را از میان شرکتهایی که نیازهای شما را برآورده میکنند و هزینه مناسبی دارند را انتخاب کنید.”
}
},{
“@type”: “Question”,
“name”: “وب سرویس چیست؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “رسیدیم به اینکه ببینیم Web service چیست. وب سرویس هر نرم افزار و اپلیکیشن و تکنولوژی کلود است که پروتکلهای استاندارد وب مانند HTTP و HTTPS را فراهم میکند تا از طریق اینترنت، دیتا تبادل شود مثلا XML – Extensible Markup Language.”
}
}]
}