وب سرور (web server) یک نرمافزار کامپیوتری است که میتواند اطلاعات و سرویسهای درخواست شده را در قالب یک صفحه سایت اینترنتی به کاربران ارائه دهد. این اطلاعات به صورت فایلهای HTML همراه با دادههایی همچون تصویر، متن، فایلهای CSS و جاوا اسکریپت به مرورگر کاربران سایت ارسال میشود و آنها میتوانند این اطلاعات را مشاهده و فایلها را دانلود کنند. با ما همراه باشید تا شما را وب سرور آشنا و رایجترین آنها را به شما معرفی کنیم.
وب سرور چیست؟
سرور وب (web server) در واقع هم یک سختافزار است و هم یک نرمافزار که از پروتکل HTTP و پروتکلهای دیگر برای پاسخ به درخواست کاربران سایت از طریق شبکههای جهانی استفاده میکند. وب سرور، رایانهای است که وب سایتها را اجرا میکند و وظیفه اصلی آن، این است که محتوای یک سایت را از طریق ذخیرهسازی، پردازش و ارائه صفحات وب به کاربران را نمایش دهد. وب سرور علاوه بر پروتکل HTTP میتواند از پروتکلهای دیگری همچون SMTP و FTP که برایایمیل، انتقال فایل و ذخیرهسازی استفاده میشود هم پشتیبانی نماید.
سختافزار سرور وب به اینترنت متصل است و میتواند این امکان را فراهم کند که دادهها را به دستگاههای متصل ارسال کند. اما نرمافزار سرور وب نحوه دسترسی کاربران به فایلهای میزبانی شده را کنترل میکند. در واقع این یک فرایند مشتری / سرور محور است. تمامی رایانههایی که هاست آنها وب سرور است، باید دارای یک نرمافزار وب سرور باشند. این وب سرورها برای میزبانی وب یا میزبانی دادهها برای وب سایتها و برنامههای مبتنی بر وب یا همان اپلیکیشنها مورد استفاده قرار میگیرند.
وب سرور چگونه کار میکند؟
نرمافزار سرور وب از طریق همان دامنه وب سایتها قابل دسترسی است و نیاز به مورد خاص دیگری ندارد. با دامنه این اطمینان به شما داده میشود که محتوای درخواستی از وب سایت به کاربر تحویل داده خواهد شد نرمافزار سرور وب چند مؤلفه دارد که یکی از آنها قطعاً سرور HTTP است. این سرور میتواند HTTP که در واقع همان پروتکلی است که مرورگر وب برای بازدید از صفحات به آن نیاز دارد و URLها که همان آدرس صفحات وب است را درک کند. وب سروری که به عنوان سختافزار شناخته میشود، رایانهای است که نرمافزار وب سرور و سایر فایلهای مربوط به یک وب سایت مانند اسناد، HTML، تصاویر، فایل جاوا اسکریپت و غیره را در خود ذخیره میکند.
زمانی که یک مرورگر مانند فایر فاکس یا کروم، به یک فایلی نیاز داشته باشد که روی سرور وب میزبانی شده باشد، مرورگر میتواند فایل را از طریق همان پروتکل HTTP درخواست کند. هنگامی که این درخواست روی وب سرور دریافت شد، سرور HTTP هم آن درخواست را میپذیرد و محتوا را برای کاربر پیدا میکند و دوباره از طریق همان HTTP به مرورگر ارسال میکند. اگر بخواهیم به طور دقیقتر این موضوع را توضیح دهیم باید بگوییم که زمانی که یک مرورگر صفحهای را از یک وب سرور درخواست میکند، این فرایند یک سری مراحل را باید طی کند تا درخواست برای کاربران نمایش داده شود.
به عنوان مثال یک شخص یک آدرس سایت را در نوار جستجوگر گوگل سرچ میکند. مرورگر آدرس آی پی نام دامنه آن سایت را به دست میآورد. این کار را یا از طریق ترجمه DNS که همان سیستم نام دامنه است انجام میدهد و یا اگر قبلاً شخص به آن آدرس مراجعه کرده باشد، آن را در حافظه پنهان جستجو میکند. بدین شکل مرورگر وب به یک وب سرور منتقل میشود. حالا مرورگر با درخواست HTTP فایل خاصی را از وب سرور درخواست میکند. وب سرور هم به راحتی پاسخ آن را میدهد و صفحهای که درخواست شده بود را دوباره از طریق همان HTTP به مرورگر میفرستد. اگر هم صفحه درخواستی وجود نداشته باشند یا مشکلی داشته باشد، وب سرور به کاربر یک پیام خطا یا هشدار میدهد. سپس مرورگر وب قادر به نمایش صفحه درخواست شده خواهد بود.
وب سرور استاتیک و داینامیک
یک سرور وب میتواند هم محتوای پویا به کاربران خود ارائه دهد و هم محتوای ثابت. محتوای ثابت یا همان استاتیک همیشه به یک شکل نمایش داده میشوند. اما محتوای پویا یا دینامیک همیشه در حال تغییر و بروزرسانی هستند. یک وب سرور استاتیک از یک رایانه و نرمافزار HTTP تشکیل شده و میتواند سرور فایل میزبانی شده را همان طور که هست، به مرورگر ارسال کند. مرورگرهای وب پویا از یک وب سرور و نرمافزارهای دیگر مانند اپلیکیشن سرور و پایگاه داده تشکیل میشود. یک محتوا به این دلیل پویا در نظر گرفته میشود که میتواند برای آپدیت هر فایل میزبانی شده، قبل از ارسال به مرورگر، استفاده شود.
سرور وب زمانی میتواند محتوایی را ایجاد کند که از پایگاه دادهها قبلاً درخواست آن داده شده باشد. اگر چه این فرایند انعطاف پذیرتر است، اما یک سری پیچیدگیهای خاص خود را هم دارد. در کل اگر بخواهیم بین وب سرورهای استاتیک و داینامیک تفاوت قائل شویم باید بگوییم که وب سرور استاتیک یک سختافزار همراه با یک سرور HTTP است که میتواند فایلها را به همان شکلی که است به مرورگر وب ارسال کند. وب سرور داینامیک همان وب سرور استاتیک در کنار یک نرمافزار اضافی است که فایلها را قبل از ارسال به مرورگر توسط سرور HTTP بروزرسانی میکند.
پر استفادهترین وب سرورها
امروزه وب سرورهای متنوع و مختلفی در بازار وجود دارند که هر کدام از آنها ویژگیها، مزایا و معایب خاص خود را دارند. در این قسمت چند مورد از معروفترین وب سرورهای جهان را با هم بررسی میکنیم.
Apache
کارساز اچتیتیپی آپاچی یک open-source web server software است که طراحی آن برای سیستم عامل لینوکس بوده و وظیفه آن هم پردازش و ارائه اطلاعات محتوای وب سایتها است. کدهای اصلی آپاچی به دلیل منبع باز بودن در اختیار همه برنامهنویسان در سراسر دنیا قرار گرفته و همه میتوانند آن را برای خود بهینهسازی کنند. یکی از مهمترین ویژگیهای وب سرور آپاچی این است که میتواند حجم ترافیک بالایی را با کمترین پیکربندی مدیریت کند.
Apache یک نرمافزار است که روی سرور اصلی نصب میشود و کار مهم آن ارتباط بین سرور و مرورگر درخواستکننده است. نحوه کار با این وب سرور به این شکل است که مرورگر درخواستکننده پیام خود را ارسال میکند و آپاچی هم بلافاصله به آن پاسخ میدهد. سرور و سرویس گیرنده هر دو از طریق HTTP ارتباط برقرار میکنند که این ارتباط توسط آپاچی فراهم میشود.
مزایای وب سرور آپاچی
-
رایگان و متن باز در اختیار کاربران قرار میگیرد.
-
با امنیت بالا بروزرسانی میشود.
-
برای استفاده پیکربندی سادهای دارد.
-
روی سرور ویندوز هم قابل استفاده است.
Lightspeed
یکی از پیشرفتهترین وب سرورها، لایت اسپید است که با توجه به امکانات ویژهای که دارد، بسیاری از کاربران آن برای راهاندازی وب سایت خود انتخاب میکنند. lightspeed ساختار خاصی دارد که میتواند به هزاران کاربر به طور همزمان سرویس دهد. آپاچی هم با لایت اسپید سازگاری خوبی دارد و در کنار آن نصب میشود. بنابراین این وب سرور میتواند جایگزین خوبی برای آپاچی باشد چرا که دیگر نیازی به تغییر برنامه و یا جزئیات سیستم عامل نخواهد بود. این وب سرور میتواند حد زیادی تهیه منابع بیشتر را رفع کند و از منابع حداقلی استفاده کند.
LightSpeed Web Server بر پایه کارایی و سرعت بالا طراحی شده و سرعت نصب آن بسیار خوب است که این موضوع باعث شده بسیاری از کاربران در سیستم خود از آن استفاده کنند.
مزایای وب سرور Lightspeed
-
سازگاری با انواع مختلف وب سایتها
-
دارا بودن تنظیمات آماده و پنلهای تحت وب
-
سرعت و امنیت بالا
Nginx
وب سرور Nginx اولین بار برای حل مشکل ck10 طراحی شد اما به دلیل داشتن سرعت بسیار بالا در میان سایر وب سرورها، توانست محبوبیت خوبی در میان کاربران پیدا کند. عملکرد بسیار خوب، پایداری، پیکربندی ساده و استفاده حداقلی از منابع از مهمترین ویژگیهای این وب سرور است. nginx وب سرور open-source web server software and a reverse proxy server است به این معنا که متن آن باز است و میتوان آن را توسعه داد یا اصلاح کرد و به عنوان پروکسی معکوس، سیستم کش، شبکه رسانهای و غیره مورد استفاده قرار گیرد.
علاوه بر این موارد میتوان از وب سرور انجیناکس به عنوان پروکسی سرور برای سرویسایمیل و پروکسی معکوس برای HTTP و TCP و غیره استفاده کرد. این وب سرور میتواند در ارائه محتوای استاتیک بسیار عالی عمل کند.
مزایای وب سرور Nginx
-
متن باز
-
مدیریت همزمان از بیش از ۱۰ هزار اتصال
-
استفاده حداقلی از منابع و رم و اتصال پایین
-
سرعت و امنیت بالا
Microsoft IIS
وب سرور Microsoft IIS توسط شرکت مایکروسافت طراحی و تولید شده است و اکثر ویژگیهای سرور آپارچی را دارا است اما تفاوتی که با آپاچی دارد این است که متن باز نمیباشد. در نتیجه اگر برنامهنویسی بخواهد ان را اصلاح کند یا توسعه دهد، کار دشواری پیش رو دارد. بیشتر پلتفرمهای سیستم عامل ویندوز را پشتیبانی میکند. علاوه بر آن، این توانایی را هم دارد که روی سیستم عاملهای مک و لینوکس هم اجرا شود اما کمی غیر قابل اعتماد خواهد بود. اما در کل پشتیبانی بسیار خوبی دارد و اگر مشکلی پیش بیاید، در کوتاهترین زمان آن را برطرف خواهند کرد.
این وب سرور برای سایتهای که با زبان برنامهنویسی ASP طراحی و تولید شدهاند، گزینه بسیار مناسبی است. این وب سرور که با نام سرویسهای اطلاعات اینترنتی Internet information services هم شناخته میشود، نحوه کار آن به این صورت که یک کاربر درخواست خود را ارسال میکند. در این وب سرور برای هر درخواست یک Thread در نظر گرفته میشود و به آن پاسخ داده میشود. چندین نسخه از IIS عرضه شده که نسخه ۶ آن برای استفاده تجاری پیشنهاد نمیشود. اما نسخه ۷ آن که برای ویندوز سازگار است اقدامات امنیتی را برای فریم ورک افزایش داده است.
این وب سرور میتواند از پروتکلهای HTTP، HTTPS، FTP، FTPS، SMTp و NNTPبه خوبی پشتیبانی کند. از ویژگیهای بسیار خوب این وب سرور این است که مصرف پردازنده برای هر برنامه را محدود میکند و از ماژولهای متنوع پشتیبانی میکند. این وب سرور میتواند سایتهایی را که با وردپرس کار میکند را هم میزبانی کند.
مزایای وب سرور IIS
-
قابلیت استفاده برای ویندوز، مک و لینوکس
-
پشتیبانی از زبانهای برنامهنویسی NET، PHP، ASP و غیره.
-
استفاده برای خانواده Net
-
عرضه رایگان
-
پشتیبانی بسیار خوب
Lighttpd
Lighttpd web server بیشتر برای محیطهایی طراحی شده است که سرعت پایین دارند؛ چرا که این وب سرورها سریع و سبک هستند و به صورت رایگان هم در اختیار کاربران قرار میگیرند. انعطافپذیری و امنیت بالا در کنار عملکرد بسیار خوب باعث شده تا افرادی زیادی از آن استقبال کنند. مدیریت درخواستهای زیاد از مهمترین ویژگیهای لایتی است. فضای کمی را هم اشغال میکند و از منابع استفاده حداقلی میکند.
یوتیوب یکی از سایتهایی است از این وب سرور برای خود استفاده کرده است. پیکربندی و تنظیمات این وب سرور بر خلاف سایر وب سرورها کمی سخت است و برای کار با آن کاربر باید از دانش و تجربه زیادی برخوردار باشد. lighttpd برای میزبانی سرورهای تک کاربرد دارد و مناسب سرورهای اشتراکی نیست.
مزایای وب سرور Lighttpd
-
متن باز و رایگان
-
پشتیبانی از ویژگیهایی همچون SCGI، URL-rewriting
-
مدیریت سایتها با حجم سنگین
Caddy
وب سرور کدی (کارساز وب) یک open source web server است که می تواند به صورت پیش فرض HTTP/2 را پشتیبانی کند. این وب سرور در محیط Go کدنویسی شده است از کتابخانههای پیش فرض آن بهرهمند شده است. کدی هم به دلیل ویژگیهای بسیار خوبی که دارد میتواند یک گزینه مناسب برای میزبانی از سایتها باشد. از جمله ویژگیها و امتیاز کدی سرور میتوان به دریافت و مدیریت اتوماتیک گواهیهای TLS از Let’s Encrypt برای فعال کردن HTTPS و پشتیبانی از HTTP/2 اشاره کرد. نکتهای که باید درباره وب سرور کدی بدانید این که در حال حاضر HTTPS یک امر ضروری برای هر سیستم عاملی است.
به این صورت که بدون استفاده از آن ورود کاربر به سایت و موتورهای جستجو مانند فایرفاکس و کروم ایمن نخواهد بود و به شما هشدار داده میشود. به طور کلی در دنیای امروز پروتکلهای امنی نقش بسیار مهمی را برعهده دارند که یکی از مهمترین این پروتکلها، همان HTTPS است.
مزایای وب سرور Caddy
-
قابلیت سرویس دهی به صورت Reverse Proxy
-
پشتیبانی از HTTP/1.1و به صورت پیش فرض از HTTP/2و TLS2.1 و قبلتر از آن
-
اعطای گواهینامه امنیتی به سایت ها
-
پشتیبانی از IPv4 و IPv6، FastCGI Proxy، reverse Proxy