وب سرور چیست و چگونه کار میکند؛ معرفی انواع وب سرور
شاید برای شما هم این سوال به وجود آمده باشد که هنگامیکه یک وب سایت را در مرورگر خود باز می کنید، چه فرایندی طی می شود که محتوای آن نمایش داده شود؟ در واقع اگر بخواهیم به جزئیات این پروسه بپردازیم، قطعا در چندین و چند مقاله نیز امکان خلاصه کردن مطلب وجود نخواهد داشت! اما در این مقاله قصد داریم که مهمترین بخش این فرایند که همان « وب سرور » است را برای شما توضیح دهیم. لطفا با ما همراه باشید تا پاسخ پرسش « web server یا وب سرور چیست و انواع وب سرور ها » را با هم بررسی کنیم.
تعریف web server یا وب سرور چیست ؟
پیش از ابنکه بگوییم وب سرور چیست، بدانید که زیر مجموع سرور است و به نوعی فرزند آن محسوب میشود. به زبان ساده، یک وب سرور وظیفه ی ذخیره سازی و ارسال محتوای یک وب سایت را به کلاینتی که آنرا درخواست کرده دارد. محتوای درخواست شده میتواند متن، عکس و فیلم و یا حتی اطلاعات یک اپلیکیشن باشد. رایج ترین نوع کلاینت نیز مرورگرها هستند.
زمانی که سایت را بارگذاری می کنید یا روی لینک دانلود کلیک کرده و فایلی را دانلود می کنید، عملا مرورگر در حال ارسال درخواست شما به وب سرور آن وب سایت است. فرقی نمیکند سایت مورد نظر شما بر روی یک هاست اشتراکی باشد یا سرور مجازی ایران یا خارج، به هرحال درخواست شما به سمت Web Server ارسال خواهد شد.
کاربرد وب سرور چیست و web server چگونه کار می کند؟
وب سرور می تواند به سخت افزار یا نرم افزار، یا هر دو آن ها که به همراه یک دیگر کار می کنند، گفته شود.
از جنبه سخت افزاری، وب سرور یک رایانه است که نرم افزار وب سرور و فایل های اجزای وب سایت را ذخیره می کند، به عنوان مثال اسناد HTML، تصاویر، استایل شیت های CSS و فایل های جاوا اسکریپت را میتوان نام برد. این وب سرور به اینترنت متصل است و از تبادل اطلاعات با سایر دستگاه های متصل به وب پشتیبانی می کند.
از جنبه نرم افزاری، یک وب سرور شامل چندین بخش (حداقل یک سرور HTTP) است که چگونگی دسترسی کاربران به فایل های روی هاست را کنترل می کند. یک سرور HTTP بخشی از نرم افزاری است که URL ها (آدرس های وب) و HTTP (پروتکلی که مرورگر شما برای مشاهده صفحات وب استفاده می کند) را درک می کند. این سرور از طریق نام دامنه وب سایت هایی که در آن ذخیره می شوند(مانند iranhost.com)، قابل دسترسی است و محتوا را به دستگاه کاربر نهایی عرضه می کند. از جمله وب سرورهای معروف نیز می توان به Apache، Nginx، IIS و LiteSpeed اشاره کرد.
در ابتدایی ترین سطح، هر بار که مرورگر به یک فایلی که در یک سرور وب میزبانی می شود نیاز پیدا می کند، مرورگر فایل را از طریق HTTP درخواست می کند. هنگامی که درخواست به web server (سخت افزار) می رسد، سرور HTTP (نرم افزار) درخواست را می پذیرد، سند درخواستی را پیدا می کند (در صورتی که پیدا نشود، یک پاسخ ۴۰۴ برگردانده می شود)، و آن را از طریق HTTP به مرورگر ارسال میکند.
وب سرور استاتیک و داینامیک
برای انتشار یک وب سایت، شما نیاز به یک وب سرور استاتیک (Static) یا داینامیک (Dynamic) دارید. ما در مقاله ای مجزا بصورت کامل به بررسی سرور چیست به زبان ساده پرداخته ایم.
وب سرور استاتیک چیست ؟
یک static web server شامل یک کامپیوتر (سخت افزار) به همراه یک سرور HTTP (نرم افزار) است. که آن را “استاتیک” می نامیم زیرا سرور، فایل های میزبانی شده را “همان گونه که هست” به مرورگر شما ارسال میکند.
وب سرور داینامیک چیست؟
یک « هاست وب سرور پویا یا داینامیک »، شامل یک وب سرور استاتیک، به علاوه ی یک نرم افزار اضافی، (اغلب یک سرور برنامه و یک پایگاه داده) است. که آن را “پویا” می نامیم، زیرا سرور برنامه، فایل های میزبانی شده را قبل از فرستادن آن ها به مرورگر شما، از طریق سرور HTTP به روز می کند.
به عنوان مثال، برای تولید صفحات وب نهایی که در مرورگر مشاهده می کنید، سرور برنامه ممکن است قالب HTML را با محتویات یک پایگاه داده، پر کند. سایت هایی مانند MDN یا ویکی پدیا دارای هزاران صفحه وب هستند اما این صفحات، اسناد HTML واقعی نیستند، بلکه فقط چند قالب HTML و یک پایگاه داده غول پیکر هستند. این موضوع باعث آسان تر شدن و سریع تر شدن نگهداری و ارائه محتوا می شود.
همانطور که گفته شد، برای دریافت یک صفحه وب، مرورگر شما، درخواستی را به وب سایت سرور می فرستد، که در فضای ذخیره سازی اش، اقدام به جستجوی فایل درخواست شده می کند. هنگام پیدا کردن فایل، سرور آن را می خواند، به شکل مورد نیاز پردازش می کند و به مرورگر می فرستد. بیایید این مراحل را با جزئیات بیشتری بررسی کنیم.
فایل های میزبانی وب
وب سرور ، ابتدا باید فایل های وب سایت، یعنی تمام اسناد HTML و دارایی های مرتبط با آن، از جمله تصاویر، استایل شیت های CSS، فایل های جاوا اسکریپت، فونت ها و ویدیو ها را ذخیره کند.
از لحاظ فنی، شما می توانید تمام آن فایل ها را بر روی کامپیوتر خود میزبانی کنید، اما بسیار راحت تر است که همه آن ها را در یک وب سرور اختصاصی ذخیره کنید که
- همیشه در حال اجرا است.
- همیشه به اینترنت متصل است.
- همیشه آدرس IP یکسان دارد (همه ISP ها، آدرس IP ثابت برای خطوط داخلی ارائه نمی دهند).
- توسط ارائه دهنده شخص ثالث نگهداری می شود.
به همه این دلایل، پیدا کردن یک ارائه دهنده خدمات میزبانی مناسب، یک بخش کلیدی و مهم برای ساختن وب سایت است. به همین دلیل باید خدمات مختلفی را که شرکت ها ارائه می دهند، بررسی کرده و یکی را انتخاب کنید که متناسب با نیازهای شما و بودجه شما باشد (هزینه این خدمات، می تواند رایگان و یا هزاران دلار در هر ماه باشد).حال در امتداد مقاله به بررسی برقراری ارتباط از طریق HTTP وب سرور می پردازیم.
برخی از انواع وب سرور
وبسرور آپاچی (Apache)
این وبسرور به خاطر امکانات و قابلیت هایی که دارد، سریعا به محبوب ترین سرویس دهنده HTTP تبدیل شده است. وظیفه Apache به عنوان یک وبسرور، پردازش درخواست ها و ارائه محتوای وب سایت است. این وبسرور برای سیستم عامل پایه لینوکس طراحی و توسعه داده شده است.
آپاچی یک وبسرور متن باز است، بدین معنی که کدهای اصلی این نرم افزار برای همگان در دسترس است. این ویژگی باعث شده تا برنامه نویسان از سراسر دنیا بتوانند ماژول های خودشان را به آن اضافه کنند و در طول سالها مرتبا آن را بهینه تر کنند.
یکی از مهم ترین ویژگی های مثبت آپاچی، این است که میتواند حجم ترافیک زیادی را با کمترین پیکر بندی مدیریت کند. در طول دهه های گذشته، آپاچی به خوبی ثابت کرده است که پایداری مناسب در کار با پلتفرم های مختلف دارد. شما می توانید در مقاله وب سرور آپاچی چیست در این مورد بخوانید.
وبسرور LiteSpeed
LiteSpeed ، از لحاظ عملکرد و سرعت پاسخ دهی در میان دیگر وبسرورها پیشرو است. با وجود افزونه ها و امکانات متنوعی که دارد، میتوانید از آن برای راه اندازی یک میزبانی وب استفاده کنید. LiteSpeed به خاطر ساختار خاصی که دارد، میتواند میزان عملکرد میزبانی وب را افزایش دهد، و این قابلیت را دارد که بطور همزمان بتواند، به هزاران کاربر سرویس دهی کند.
لایت اسپید با آپاچی کاملا سازگار است و میتواند پیکربندی های آن را نیز بارگذاری کند، لذا معمولا در کنار آن نصب میشود.
وبسرور Nginx
وبسرور Nginx به این منظور طراحی شده است که مقدار رم کمتری ارائه کند و در مقابل تعداد پروسه های بیشتری را مدیریت کند. Nginx به جای اینکه برای هر درخواست تحت وب یک پروسه جدا ایجادکند، از راهکاری استفاده میکند که درخواست ها را در یک thread مجزا مدیریت میکند. با استفاده از Nginx یک پروسه اصلی میتوانید چندین پروسه کاری را کنترل کند. این وبسرور معمولا در کنار آپاچی نصب می شود و در خط مقدم پردازش درخواتس های وب قرار می گیرد.
بیشتر بخوانید: nginx چیست
وبسرور Lighttpd
Lighttpd، یک وبسرور متن باز است و مخصوص محیط هایی طراحی شده که مشکل سرعت دارند. در عین عمکلرد مناسب، انعطاف پذیری و میزان امنیت آن مطابق با استاندارد های دیگر وبسرور هاست. تخصص اصلی این وبسرور در مدیریت تعداد درخواست های بسیار زیاد بصورت همزمان است.
وبسرور (IIS)Internet Information Services
IIS یک وبسرور انعطاف پذیر و از محصولات شرکت مایکروسافت است که بر روی سیستم های ویندوزی راه اندازی میشود.
IIS انعطاف پذیری بالایی دارد و بر خلاف وبسرورهای لینوکسی که تنها زیان های خاصی را پشتیبانی میکنند، IIS علاوه بر فریم ورک های دات نت، از انواع مختلف فریم ورک های دیگر و زبان هایی مثل PHP نیز پشتیبانی می کند. علاوه بر این، IIS با داشتن امکانات و افزونه های متنوع، انعطاف پذیری بالایی در پردازش و راه اندازی انواع فریم ورک ها دارد.
برقراری ارتباط از طریق HTTP وب سرور چیست ؟
در وهله ی دوم، یک وب سرور ، پشتیبانی (HTTP Hypertext Transfer Protocol / پروتکل انتقال ابرمتن) را فراهم می کند. همان طور که از نام آن معلوم است، HTTP چگونگی انتقال «ابر متن» (یعنی اسنادِ وبِ لینک شده) بین دو کامپیوتر را مشخص می کند.
یک پروتکل، مجموعه ای از قوانین ارتباطی بین دو کامپیوتر است. HTTP یک پروتکل متنی یا Textual، و Stateless است.
قواعد ارتباط HTTP وب سرور چیست؟
HTTP قواعد روشنی را برای چگونگی برقراری ارتباط مشتری و سرور فراهم می کند:
- فقط مشتریان می توانند درخواست های HTTP را ایجاد کنند و سرورها تنها می توانند به درخواست HTTP یک مشتری پاسخ دهند.
- هنگام درخواست یک فایل از طریق HTTP، مشتریان باید URL فایل را ارائه دهند.
- وب سرور باید به هر درخواست HTTP، حداقل با یک پیام خطا پاسخ دهد.
در یک وب سرور ، HTTP مسئول پردازش و پاسخ گویی به درخواست های ورودی است.
- در دریافت درخواست، یک سرور HTTP ابتدا بررسی می کند که URL درخواست شده با یک فایل موجود مرتبط است.
- اگر چنین است، وب سرور محتوای فایل را به مرورگر ارسال می کند. اگر نه، یک سرور برنامه، فایل مورد نیاز را ایجاد می کند.
- اگر هیچ فرایندی امکان پذیر نباشد، وب سرور یک پیام خطا را به مرورگر ارسال می کند، این پیغام در اغلب موارد، Not Found 404 است. (این خطا بسیار رایج است و در مورد آن در مقاله خطای ۴۰۴ چیست را بخوانید.).
کلام آخر
در این مقاله سعی کردیم تا پاسخی برای پرسش « وب سرور چیست » ارائه دهیم. وب سرورهای زیادی وجود دارند که هر کدام بسته به ساختار خود، امکانات متفاوتی را ارائه می دهند. در این بین شرکتهای هاستینگ از این امکانات استفاده کرده و سرویسهای میزبانی وب را در اختیار کاربران خود قرار میدهند. برخی از این سرویسها برای مقاصد خاصِ وبسایت مانند وبلاگ ها، ویکی ها یا فروشگاه های آنلاین ارائه می شوند؛ بعضی دیگر، که CMS (سیستم های مدیریت محتوا یا Content Management Systems) نامیده می شوند، عمومی تر هستند و بعضا توسط شرکتهای هاستینگ، میزبانیهای مختص CMS ها همانند هاست اختصاصی وردپرس نیز ارائه می شود . اگر شما در حال ایجاد یک وب سایت پویا هستید، باید یک ابزار متناسب با نیاز های خود را، انتخاب کنید و به فکر سرور مناسب باشید که بین شرکتهای مختلف پیدا کردن سرور سایت شروع می شود و بایستی با توجه به منابع و پهنای باند و نیاز خود وب سرور لینوکس یا ویندوز را انتخاب کنید.
آیا وب سرور ویندوز از لینوکس کندتره؟
به نظر شما وب سرور آپاچی قوی تر هست یا nginx؟ از جنبه مدیریت ساب دامین ها و سایت هایی که روی سرویس هستند!
وب چیست؟ و ساخت وب سرور مهمترین مفاهیم در حوزه ی وب هستند.ممنون از مقالتون.
fogholadeh v ravon tozih dadid,dasteton dard nakoneh,khoda ghovat
ممنون از مطالب مفیدتون با این مقاله مفهوم وب سرور رو درک کردم ولی برام مفهوم ویندوز سرور گنگه
سامان عزیز
خوشحالیم که مطالب قاله برای شما مفید واقع شده پیشنهاد میکنیم برای درک بهتر مفاهیم این دو مقاله ی ما با موضوع “ویندوز سرور چیست” را مطالعه نمایید.