وب سرور چیست ؟

وب سرور چیست ؟

به زبان ساده، یک web server وظیفه ی ذخیره سازی و ارسال محتوای یک وب سایت را به کلاینتی که آنرا درخواست کرده دارد. محتوای درخواست شده می تواند متن، عکس و فیلم و یا حتی اطلاعات یک اپلیکیشن باشد. رایج ترین نوع کلاینت نیز مرورگرها هستند. زمانی که سایت را بارگذاری می کنید یا روی لینک دانلود کلیک کرده و فایلی را دانلود می کنید، عملا مرورگر در حال ارسال درخواست شما به وب سرور آن وب سایت است.حال که با مفاهیم web server چیست آشنا شدید در امتداد مقاله به بررسی web server چگونه کار می کند می پردازیم.

شناخت پرکاربردترین وب سرور ها

وب سرور‌ها خدمات متفاوت و متعددی را به کاربران ارائه می‌دهند. به دلیل خدمات و نیازهای کاربری متفاوت، وب سرورهای مختلفی توسعه داده شده اند که هر کدام خدمات خاصی را ارائه می‌کنند. شناخت این وب سرورها به کاربران کمک می‌کند تا بتوانند با توجه به نیازهایی که دارند، وب سرور مناسبی را انتخاب کنند. زیرا انتخاب ناصحیح وب سرور می‌تواند پیامدها مختلفی برای مدیران سرورها و سایت‌ها داشته باشد. برخی از پرکاربردترین وب سرورها عبارتند از :

  • Apache
  • Lightspeed
  • Nginx
  • Microsoft IIS
  • Lighttpd


کاربرد وب سرور چیست و چگونه کار می کند؟

“وب سرور” می تواند به سخت افزار یا نرم افزار، یا هر دو آن ها که به همراه یک دیگر کار می کنند، گفته شود.

از جنبه سخت افزاری، وب سرور یک رایانه است که نرم افزار وب سرور و فایل های اجزای وب سایت را ذخیره می کند، به عنوان مثال اسناد HTML، تصاویر، استایل شیت های CSS و فایل های جاوا اسکریپت را می‌توان نام برد. این وب سرور به اینترنت متصل است و از تبادل اطلاعات با سایر دستگاه های متصل به وب پشتیبانی می کند.

از جنبه نرم افزاری، یک وب سرور شامل چندین بخش (حداقل یک سرور HTTP) است که چگونگی دسترسی کاربران به فایل های روی هاست را کنترل می کند. یک سرور HTTP بخشی از نرم افزاری است که URL ها (آدرس های وب) و HTTP (پروتکلی که مرورگر شما برای مشاهده صفحات وب استفاده می کند) را درک می کند. این سرور از طریق نام دامنه وب سایت هایی که در آن ذخیره می شوند، قابل دسترسی است و محتوا را به دستگاه کاربر نهایی عرضه می کند. از جمله وب سرورهای معروف نیز می توان به Apache، Nginx، IIS و LiteSpeed اشاره کرد.

ویژگی وب سرور ها

در وب سرورها به منظور رفع نیاز کاربران برخی از ابزارها و موارد مورد نیاز به صورت پیشفرض نصب شده است. وب سرور‌ها از زبان‌های برنامه نویسی مختلفی پشتیبانی می‌کنند. از آنجایی که وب سرورها وظایف مشابهی دارند، دارای ویژگی‌های مشترک زیادی هم نیز با یکدیگر هستند از جمله :

  • مدیریت مفاهیم استاتیک و داینامیک با پشتیبانی از زبان‌های برنامه نویسی مانند PHP، Ruby، ASP و...
  • پشتیبانی از پروتکل HTTPS برای برقراری ارتباطی ایمن
  • کنترل درخواست‌ها و پاسخ‌ها به منظور مدیریت پهنای باند
  • فشرده سازی مطالب
  • و....

وب سرور استاتیک و داینامیک

برای انتشار یک وب سایت، شما نیاز به یک وب سرور استاتیک (Static) یا داینامیک (Dynamic) دارید.

یک وب سرور استاتیک شامل یک کامپیوتر (سخت افزار) به همراه یک سرور HTTP (نرم افزار) است. که آن را “استاتیک” می نامیم زیرا سرور، فایل های میزبانی شده را “همان گونه که هست” به مرورگر شما ارسال می‌کند.

یک «هاست وب سرور پویا یا داینامیک»، شامل یک وب سرور استاتیک، به علاوه ی یک نرم افزار اضافی، (اغلب یک سرور برنامه و یک پایگاه داده) است. که آن را “پویا” می نامیم، زیرا سرور برنامه، فایل های میزبانی شده را قبل از فرستادن آن ها به مرورگر شما، از طریق سرور HTTP به روز می کند.

به عنوان مثال، برای تولید صفحات وب نهایی که در مرورگر مشاهده می کنید، سرور برنامه ممکن است قالب HTML را با محتویات یک پایگاه داده، پر کند. سایت هایی مانند MDN یا ویکی پدیا دارای هزاران صفحه وب هستند اما این صفحات، اسناد HTML واقعی نیستند، بلکه فقط چند قالب HTML و یک پایگاه داده غول پیکر هستند. این موضوع باعث آسان تر شدن و سریع تر شدن نگهداری و ارائه محتوا می شود.

همانطور که گفته شد، برای دریافت یک صفحه وب، مرورگر شما، درخواستی را به وب سایت سرور می فرستد، که در فضای ذخیره سازی اش، اقدام به جستجوی فایل درخواست شده می کند. هنگام پیدا کردن فایل، سرور آن را می خواند، به شکل مورد نیاز پردازش می کند و به مرورگر می فرستد. بیایید این مراحل را با جزئیات بیشتری بررسی کنیم.

فایل های میزبانی وب

وب سرور، ابتدا باید فایل های وب سایت، یعنی تمام اسناد HTML و دارایی های مرتبط با آن، از جمله تصاویر، استایل شیت های CSS، فایل های جاوا اسکریپت، فونت ها و ویدیو ها را ذخیره کند.

از لحاظ فنی، شما می توانید تمام آن فایل ها را بر روی کامپیوتر خود میزبانی کنید، اما بسیار راحت تر است که همه آن ها را در یک وب سرور اختصاصی ذخیره کنید که

  • همیشه در حال اجرا است.
  • همیشه به اینترنت متصل است.
  • همیشه آدرس IP یکسان دارد (همه ISP ها، آدرس IP ثابت برای خطوط داخلی ارائه نمی دهند).
  • توسط ارائه دهنده شخص ثالث نگهداری می شود.

به همه این دلایل، پیدا کردن یک ارائه دهنده خدمات میزبانی مناسب، یک بخش کلیدی و مهم برای ساختن وب سایت است. به همین دلیل باید خدمات مختلفی را که شرکت ها ارائه می دهند، بررسی کرده و یکی را انتخاب کنید که متناسب با نیازهای شما و بودجه شما باشد (هزینه این خدمات، می تواند رایگان و یا هزاران دلار در هر ماه باشد).حال در امتداد مقاله به بررسی برقراری ارتباط از طریق HTTP وب سرور چیست می پردازیم.

برقراری ارتباط از طریق HTTP وب سرور چیست ؟

در وهله ی دوم، یک وب سرور، پشتیبانی (HTTP Hypertext Transfer Protocol / پروتکل انتقال ابرمتن) را فراهم می کند. همان طور که از نام آن معلوم است، HTTP چگونگی انتقال «ابر متن» (یعنی اسنادِ وبِ لینک شده) بین دو کامپیوتر را مشخص می کند.

یک پروتکل، مجموعه ای از قوانین ارتباطی بین دو کامپیوتر است. HTTP یک پروتکل متنی یا Textual، و Stateless است.

نتیجه گیری

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


برای آموزش های بیشتر با ما همراه باشید.