اگر شما نیز مدیر یک وبسایت اینترنتی باشید مطمئناً با چالشهای زیادی در راهاندازی و میزبانی وبسایت خود در بستر اینترنت مواجه هستید. یکی از مهمترین فاکتورهای داشتن یک وبسایت موفق و پویا جدا از طراحی جذاب و تجربه کاربری دلچسب که اختصاراً به آن UI و UX گفته میشود بحث سرعت لود وبسایت شما میباشد که در سریعترین زمان برای کاربران باز شود و در دسترس قرار بگیرد.
یکی از فاکتورهای مهم در داشتن یک وبسایت سریع بحث نرمافزارهای استفاده شده در سرور میزبان وبسایت شماست که در سرعت لود و بارگذاری محتوای وبسایت شما در کنار سختافزار قدرتمندی که دارد میتواند تأثیر محسوسی داشته باشد.
آیا تا به حال به این فکر کردید که زمانی که آدرس وبسایت خود را در مرورگر وارد میکنید دقیقاً چه فرایندی طی میشود تا وبسایت شما فراخوانی شود؟
زمانی که شما آدرس وبسایتی را در مرورگر وارد میکنید در ابتدا آدرس دامنه وارد شده باید تشخیص دهد که میخواهد به کدام سرور متصل شود که این کار توسط سرویسی به نام DNS انجام میپذیرد که مشخص میکند دامنه و آدرس وارد شده توسط شما به کدام سرور اشاره کند. زمانی که سرور تشخیص داده شد درخواست شما به سمت سرور فوق هدایت خواهد شد و در اینجا وب سرور وارد عمل میشود و وب سرور هست که عملاً باعث فراخوانی محتوای وبسایت شما خواهد شد در یک مثال ساده مانند سفارش غذا در یک رستوران میباشد که شما غذایی را سفارش میدهید و بعد آماده شدن غذا جهت سرو برای شما آورده خواهد شد . وب سرور در محاسبات دقیقاً همچین کاری را انجام خواهد داد و باعث فراخوانی و سرو وبسایت ها یا داده ها یا برنامههای شما در بستر اینترنت خواهد شد.
دقت داشته باشید که هر کامپیوتری میتواند به عنوان یک سرور عمل کند، مشروط بر اینکه نرمافزار مناسبی برای دریافت و پاسخگویی به درخواستها داشته باشد. با این حال، این همیشه بهترین راه نیست. سختافزار سرور ساختهشده برای سرویسدهی سریعتر و بهتر همیشه در اولویت اول خواهد بود. بنابراین، سرور چیست؟ بهطور ساده یک نوع کامپیوتر است که داده ها و اطلاعات را در اختیار سایر کامپیوترها در بستر قرار میدهد که وب سرور نرمافزاری ست که روی این سرور فیزیکی یا مجازی نصب میگردد.
وب سرورها چگونه کار میکنند؟
وب سرور به درخواستهایی که شما به عنوان یک کلاینت و کاربر از طریق شبکه اینترنت به سمت سرور ارسال میکنید پاسخ میدهد برای مثال اگر شما یک صفحه وب خاص را درخواست کنید آن درخواست به سروری میرود که آدرس وارد شده و دامنه در آن میزبانی میشود و سپس وب سرور محتوای صفحه درخواست شما را به شما تحویل خواهد شد و در مرورگر شما نمایان میشود.
درخواستهایی که شما از طریق مرورگر به سمت سرور ارسال میکنید که یک وبسایت را باز و لود نمایید HTTP نامیده میشود که این درخواست توسط وب سرور پاسخ داده میشود و نتیجه آن فراخوانی اطلاعات وبسایت شما خواهد بود.
سرورها و وب سرورها همیشه باید فعال و روشن باشند با بتوانند سرویس دهی مناسبی ارائه دهند و وبسایت ها و اطلاعات در بستر اینترنت بهطور دائم در دسترس قرار گیرند به همین دلیل طوری طراحی و ساخته میشوند که توانایی کارکرد دائم و پیوسته را داشته باشند.
زمانی که شما یک درخواست HTTP ارسال میکنید اگر وب سرور نتواند صفحه یا فایل یا اطلاعات درخواستی شما را پیدا کند یک پیام خطا در مرورگر نمایش داده خواهد شد. یکی از رایج ترین این خطاها خطای 404 میباشد که به معنای عدم وجود فایل یا صفحه یا اطلاعات درخواستی شما در سرور میزبان وبسایت مذکور میباشد. همچنین اگر در سطح دسترسی فایلها و اطلاعات درخواستی شما در سرور مشکل یا محدودیتی وجود داشته باشد یا خطاهایی مانند 403 که مربوط به مشکلات مجوز سطح دسترسی میباشد مواجه خواهید شد.
مفهوم static و dynamic در وب سرورها
وب سرورها میتوانند محتوای استاتیک یا پویا (dynamic) را پردازش و ارائه دهند.
بهطور ساده یک وب سرور استاتیک در واقع از یک سرور به همراه یک نرمافزار HTTP تشکیل شده است و بیشتر برای فراخوانی داده های فایلی مانند تصاویر – فایلهای صوتی – فایلهای تصویری – و فایلهای مربوط به استایل های وبسایت ها و.. استفاده میشوند که وب سرور آن ها را بدون هیچ تغییری در مرورگر نمایش میدهد به همین دلیل به آن static اطلاق میشود.
یک وب سرور dynamic یا پویا از یک وب سرور static به همراه یک نرمافزار اضافی تشکیل میشوند که این نرمافزار اضافی معمولاً از یک سرور برنامه و یک سرور میزبان پایگاه داده مانند MYSQL تشکیل شده است. وب سرورهای پویا اساساً فایلهای میزبانی شده را قبل ارائه از طریق HTTP بروز رسانی میکنند و سپس به سمت مرورگر ارسال میکنند به همین دلیل میتوانند محتوای متفاوتی داشته باشند.
وب سرورهای رایج در دنیا کدامند؟
خوب تا اینجا که با مفهوم وب سرور آشنا شدید و متوجه شدید که وب سرور دقیقاً چه کاری انجام میدهد حال با این ذهنیت باید بدانید که در طول این سالها وب سرورهای مختلفی توسط شرکتهای مختلف در دنیا طراحی و ساخته شدهاند که برخی و نمونه های محبوب آن عبارتند از:
این وب سرور یک وب سرور رایگان و open source میباشد (کدهای منبع برنامهنویسی شده در وب سرور در دسترس هستند و بهراحتی قابل تغییر و گسترش هستند) که بسیاری از سیستمعامل ها از جمله ویندوز و لینوکس و حتی سیستمعامل Mac OS نیز از این وب سرور پشتیبانی میکنند. آپاچی قدیمی ترین وب سرور موجود است که در سراسر جهان استفاده میشوند و درصد بالایی از سهم بازار را به خود اختصاص داده است. این وب سرور در واقع وب سرور پیش فرض تمام سرورهای وب هاستینگ میباشد که توسط کنترل پنل های مدیریت وب هاستینگ مانند سی پنل و دایرکت ادمین بهطور پیش فرض نصب میگردد.
این وب سرور نیز یک وب سرور متن باز میباشد که نوع جدیدتر و مدرنتر و قویتر از وب سرورها نسبت به آپاچی میباشد که در ابتدا فقط برای سرویس دهی وب HTTP بکار برده میشد اما اکنون در کنار نرمافزارهای دیگر بهطور مستقل یا بصورت ترکیبی و پروکسی (Reverse Proxy) نیز استفاده میشود . به دلیل سرعت بسیار خوب و بالا و استفاده کمی که این وب سرور از منابع سختافزاری سرور دارد در بسیاری از وبسایت های پر بازدید و دنیا از این وب سرور استفاده میشوند
وب سرور IIS میکروسافت Microsoft Internet Information Services
این وب سرور مختص سرورهای ویندوزی میباشد و توسط شرکت مایکروسافت کد نویسی و طراحی شده است و تقریباً در تمامی سرورهای ویندوزی استفاده میشوند. این وب سرور مانند وب سرورهای دیگر متن باز نمیباشد و فقط امکان تغییر در تنظیمات آن وجود دارد. این وب سرور بیشتر جهت اجرای وبسایت هایی که به زبان ASP.net برنامهنویسی شدهاند استفاده میشوند.
وب سرور لایت اسپید یک وب سرور قدرتمند با کارایی بالا میباشد که یک وب سرور کاملاً تجاری میباشد و متن باز نمیباشد و برای استفاده از آن باید هزینه پرداخت کنید و لایسنس تهیه نمایید. این وب سرور در واقع نسخه بهینهتر شده وب سرور آپاچی میباشد که در شرکتهای وب هاستینگ کشورمان نیز توجه زیادی به این وب سرور شده است و در سرورهای پر بازدید استفاده زیادی از این وب سرور میگردد. داشتن پنل گرافیکی کاربری جهت مدیریت کانفیگ و تنظیمات و همچنین مصرف کم منابع و همینطور سرعت بالا از مزایای این وب سرور میباشد
در مورد مقایسه وب سرورها و مزیتها و معایب هر کدام و اینکه کدام وب سرور برای وبسایت شما مناسب تر هست نیاز به مباحث تخصصی تر و کاملتری میباشد که در مقاله دیگری به این موضوع خواهیم پرداخت. هدف این مقاله فراهم کردن یک دیدگاه و آشنایی شما با مفهوم وب سرور بوده است در مورد مقایسه این وب سرور با وب سرور nginx نیز میتوانید این مقاله را مطالعه بفرمایید.
سخن پایانی
در این مقاله سعی کردیم که به شکل ساده به بررسی مفهوم Web Server بپردازیم. از معرفی رایجترین وب سرورها گرفته، تا سیستمعاملهای مورد استفاده برای هر سرویس دهنده وب را عنوان کردیم. هر Web Server با توجه به امکانات و مزایا و معایبی که دارد، برای استفاده خاصی مورد استفاده قرار میگیرد.
موفق و پیروز باشید