Web Server چیست ؟

Web Server
یاسر دهقان

یاسر دهقان

رد و بدل اطلاعات در دنیای وب با استفاده از پروتکلHTTP  صورت می گیرد. هنگام گشت و گذار در دنیای وب درخواست های HTTP  توسط مرورگر ارسال می شود. اما تا به حال دقت کرده اید که این درخواست ها به چه صورت در سرور تجزیه و تحلیل می شوند و منابع مورد نظر برای ما ارسال می شود. این کار توسط وب سرور (در حالی که اصطلاح ” وب سرور” می تواند به خود نرم افزار یا سرور سخت افزاری که روی آن قرار دارد اشاره کند، این مقاله به طور خاص به نرم افزار وب سرور اشاره می کند.) انجام می شود؛ به نوعی وب سرور یک دروازه بین کاربر و منابعی که در سرور هست می باشد.

 

Web Server چیست ؟

همانطور که پیش از این اشاره کردیم، اطلاعات در دنیای وب با استفاده از پروتکل HTTP رد و بدل می‌شود. مرورگر درخواست های HTTP را در سمت کاربر می سازد و ارسال می کند. برای پاسخگویی به این درخواست‌ها، نیاز است که در سمت سرور نرم‌افزاری وجود داشته باشد که بتواند درخواست‌ها را تجزیه و تحلیل کند و منابع مورد نظر را به عنوان پاسخ ارسال کند. این نرم‌افزار، وب‌سرور نام دارد.

نقش اصلی وب سرور ها پردازش و تجزیه و تحلیل پروتکل HTTP  و فرستادن منابع و صفحات سایت مورد نظر کاربر می باشد. علاوه بر HTTP، وب سرورها همچنین از SMTP (پروتکل انتقال  پست الکترونیکی) و FTP (پروتکل انتقال فایل) پشتیبانی می‌کنند که برای ایمیل، انتقال و ذخیره فایل استفاده می‌شوند.

 

چرخه رد و بدل اطلاعات در دنیای وب

به طور کلی چرخه رد و بدل اطلاعات در دنیای وب به صورت زیر می باشد.

هنگامی که مرورگر صفحه‌ای را از یک وب سرور درخواست می‌کند، فرآیندی چند مرحله‌ای انجام می‌شود. ابتدا، کاربر URL را در نوار آدرس مرورگر وب خود وارد می‌کند. مرورگر سپس آدرس IP نام دامنه را با استفاده از سیستم نام دامنه (DNS) یا با جستجو در  Cache خود به دست می‌آورد. این امر مرورگر را به سمت یک  سرور هدایت می‌کند. سپس مرورگر درخواست فایل مورد نظر را از وب سرور با استفاده از یک درخواست HTTP ارسال می‌کند.

وب سرور درخواست HTTP  را تجزیه و تحلیل می کند و پاسخ می‌دهد. اگر صفحه درخواست شده وجود نداشته باشد یا اگر مشکلی در دریافت آن پیش بیاید، وب سرور یک خطا با پیام مربوط به آن را به عنوان پاسخ ارسال می کند. پیام خطا معمولاً حاوی اطلاعات در مورد علت خطا است. یکی از خطاهای رایج، خطای 404 است که به معنای «صفحه یافت نشد» می باشد. مرورگر پس از دریافت پاسخ وب سرور، آن را برای کاربر نمایش می‌دهد.

چرخه تبادل اطلاعات در وب
چرخه تبادل اطلاعات در وب

وظایف Web Server

وظایف رایج وب سرور:

ارائه فایل‌های HTML،  CSS و JavaScript.

ارائه تصاویر و فیلم‌ها.

مدیریت پیام‌های خطا HTTP.

مدیریت درخواست‌های کاربر، اغلب به ‌صورت همزمان.

فشرده‌سازی محتوا برای بهینه‌سازی استفاده از داده‌ها و سرعت.

فعال کردن ذخیره‌سازی Cache  مرورگر برای محتوای ثابت .

 

Web Server با ارائه محتوای پویا و ایستا

یک وب سرور می تواند برای ارائه محتوای ثابت یا پویا مورد استفاده قرار گیرد. محتوای ثابت به محتوایی گفته می شود که بدون تغییر توسط وب سرور ارئه می شود؛ در حالی که محتوای پویا امکان به روز رسانی و تغییر را دارد.

 ارائه محتوا ثابت

وب سرور های ثابت (static)،  یک سری اطلاعات ثابت را به کاربر نشان می دهند؛ این اطلاعات شامل عکس، فیلم و صفحات وب می تواند باشد. این اطلاعات به همان صورت که هستند توسط وب سرور برای کاربر فرستاده می شوند. در این نوع از ارائه محتوا کاربر هیچ تعاملی با وبسایت ندارد و صرفاٌ می توانند اطلاعات را دریافت کنند و حق اضافه کردن اطلاعات جدید به سایت را ندارند.

 ارائه محتوا پویا

وب سرورهای پویا (dynamic)، برخلاف وب سرورهای static، اطلاعات ثابتی را به کاربران ارائه نمی دهند. محتوای این وب سرورها می تواند بسته به ورودی های کاربر و پردازشی که صورت می گیرد، متفاوت باشد. یک وب سرور با ارائه محتوای پویا، علاوه بر وب سرور، به نرم‌افزارهای دیگری مانند یک برنامه، سرور برنامه و پایگاه داده نیز نیاز دارد. هنگامی که کاربر  یک صفحه وب را از وب سرور پویا را درخواست می دهد، وب سرور درخواست را به سرور برنامه ارسال می کند. سرور برنامه پس از پردازش درخواست، پاسخ مناسب را تولید می کند و آن را به وب سرور برمی گرداند. وب سرور سپس پاسخ تولید شده را به کاربر ارسال می کند.

 

انواع Web Server

وب سرور های متعددی وجود داردند که ما می توانیم از آن برای بالا آوردن وبسایت خودمان از آن استفاده کنیم. دو تا از وب سرور های محبوب در حال جاظر Apache و Nginx  می باشد. که  هر کدام ویژگی و امکانات خاص خود را دارند و ما می توانیم از هر کدام با توجه به نیازهای خودمان استفاده کنیم.

nginx-vs-apache
Nginx و Apache دو وب سرور معروف

 

مطالب مرتبط

HTTP پروتکل معروف دنیای وب

 

ارسال دیدگاه