به زبان ساده، وبسرور، سختافزار یا نرمافزاری است که فایلهای وبسایت را ذخیره، پردازش و به مرورگرهای وب کاربران تحویل میدهد. وبسرورها متشکل از بخش سختافزاری و نرمافزاری هستند و از پروتکل انتقال ابرمتن (HTTP)، که مخفف عبارت Hypertext Transfer Protocol است، برای پاسخ به درخواستهای مرورگر کاربران وب، استفاده میکنند. در شرایط مختلف، عبارت وبسرور، به سختافزار یا نرمافزار، یا زمانی که این دو همراه باشند، اشاره میکند.
از جنبهی سختافزاری، وبسرور یک رایانه است که نرمافزار وبسرور و فایلها و محتوای وبسایت را مانند اسناد HTML، تصاویر، استایل شیتهای CSS و فایلهای جاوا اسکریپت را ذخیره میکند. وبسرورها به اینترنت متصل هستند و از تبادل اطلاعات با سایر دستگاههای متصل به وب پشتیبانی میکنند.
از جنبهی نرمافزاری، یک وبسرور شامل چند بخش است که نحوهی دسترسی کاربران به فایل های میزبانیشده را مدیریت می کند و در سادهترین حالت ممکن به آن سرور HTTP میگویند.
وبسرور چگونه کار میکند؟
پیشتر اشاره کردیم که مهمترین وظیفهی وبسرور، مدیریت و پردازش درخواستهای ارسالی به سایت است. وبسرورها از مدل کلاینت–سرور پیروی کرده و مانند واسط بین سایت، کاربر و مرورگر عمل میکنند. در این ساختار، یک برنامه که به نام کلاینت شناخته میشود، از برنامه دیگری که همان سرور است، محتوا یا سرویسی را درخواست میکند. به بیان دیگر، کاربر درخواست خود را به مرورگر داده و مرورگر نیز این درخواست را به وبسرور ارسال میکند. وبسرور مانند یک مترجم، درخواست ارسالی را پردازش کرده و به سرور میزبانی وبسایت موردنظر میفرستد.
بهطور کلی، پردازش درخواست های کاربران وب، در وبسرور در چند مرحله انجام میشود که در ادامه به آن اشاره خواهیم کرد.
هنگامی که کاربر میخواهد به محتوا یا وبسایت مشخصی دسترسی پیدا کند، آدرس یک صفحه را در مرورگر وارد میکند. مرورگر کاربر، از طریق جستوجو در حافظهی کش خود یا با استفاده از DNSها آدرس IP سایت موردنظر را بهدست میآورد و به این شکل، وبسروری را که فایلهای سایت در آن میزبانی میشود را پیدا میکند. وبسرور سایت مورد نظر، درخواست ارسال شده را بهشکل HTTP دریافت کرده و آن را پردازش میکند.
هنگامی که سرور درخواست HTTP را دریافت میکند، جستوجو برای یافتن محتوای مربوطه آغاز میشود. سپس فایلها و اطلاعات درخواست شده را از سرور میزبانی سایت مورد نظر گرفته و ترجمه میکند. در انتها با ارسال فایلها به مرورگر کاربر، به درخواست کاربر پاسخ می دهد. به این ترتیب، کاربر به محتوا و صفحات مورد نظر، دسترسی پیدا میکند.
اگر صفحات مورد نظر وجود نداشته باشد یا هرگونه خطایی بروز پیدا کند، پیام خطای مناسب با آن مشکل ارسال میشود. برای مثال اگر سرور نتواند فایلهای درخواستی را پیدا یا پردازش کند، با پیام خطای ۴۰۴ به مرورگر کاربر پاسخ میدهد یا اگر وب سرور نتواند به موقع از سرور دیگری که به عنوان یک پروکسی یا دروازه عمل میکند، پاسخ دریافت کند، خطای ۵۰۴ رخ میدهد.
تفاوت وبسرورهای استاتیک با وبسرورهای داینامیک در چیست؟
با توجه به اینکه وبسایت شما ثابت یا پویا باشد، شما نیاز به یک وبسرور استاتیک (Static Web Server) یا داینامیک (Dynamic Web Server) دارید. تفاوت وبسرورهای استاتیک با داینامیک در ارایهی محتوای ثابت یا پویا است. یک وبسرور استاتیک از یک کامپیوتر و نرمافزار HTTP تشکیل شده است. این نوع از وبسرورها، فایلهای یک وبسایت را بدون هیچ تغییری به مرورگر کاربر ارسال میکنند.
یک وبسرور داینامیک، از یک وبسرور استاتیک بهعلاوه یک نرمافزار اضافی (عمومن یک سرور برنامه و یک پایگاه داده) تشکیل شده است. وبسرورهای پویا، فایلهای میزبانی شده را قبل از ارسال و تحویل به مرورگر کاربر، از طریق سرور HTTP بهروزرسانی کرده و سپس ارسال میکنند.
به عنوان مثال، برای تولید صفحاتی که در مرورگر کاربر قابل مشاهده است، سرور برنامه ممکن است قالب HTML را با دادههای یک پایگاه داده، پر کند. بسیاری از صفحات وبسایتهای داینامیک بزرگ مانند ویکیپدیا، اسناد HTML واقعی نیستند، بلکه فقط از چند قالب HTML بههمراه بخشی از محتوای یک پایگاه داده بزرگ تشکیل شدهاند.
وبسرور چه ویژگیهایی دارد؟
علاوه بر پشتیبانی از پروتکلهای HTTP برای پردازش درخواستها و ارسال پاسخ به مرورگر کاربران، بیشتر وبسرورها، ویژگیهای استاندارد زیر را ارایه میدهند:
- فایلهای گزارشگیری File Logging
فایلهای گزارش، همهی رویدادها و فعالیتهای وبسرور، مانند درخواستها، موارد مربوط به امنیت و گزارشهای خطا Error Logs را مستند میکنند. هر بار که یک وبسرور درخواست جدیدی دریافت میکند، یک خط متن به گزارش اضافه میشود.
نکتهای که در فایلهای گزارشگیری دارای اهمیت است، این است که شما میتوانید آنچه که در پشت صحنه اتفاق میافتد را ردیابی کنید و به لیست کاملی از وقایع، قبل از بروز مشکلات دسترسی پیدا کنید.
- احراز هویت Authentication
بسیاری از وبسرورها ویژگی احراز هویت را برای اجازه دسترسی جزیی یا کامل به منابع وبسایت ارایه میدهند. ویژگی احراز هویت عمومن شامل درخواست مجوز ورود، مانند نام کاربری و رمز عبوراست.
- محدود کردن پهنای باند Bandwidth Limiting
پهنای باند وبسرور، به میزان حجم دادهای اشاره میکند که یک وبسرور در یک بازهی زمانی مشخص، میتواند پردازش کند یا انتقال دهد. محدود کردن پهنای باند سرعت پاسخها را کنترل میکند تا اطمینان حاصل شود که شبکه بیش از حد اشباع نشده است و میتواند فایلها را با سرعتی مناسب تحویل دهد.
- فضای ذخیرهسازی Storage Space
فضای ذخیرهسازی به میزان فضای موجود در سرور، برای ذخیرهی فایلها اشاره میکند و تعیینکنندهی توانایی میزبانی وبسرور، برای یک وبسایت است.
برای یک وبسرور ویژگیهای ضروری دیگری را نیز باید در نظر گرفت، مانند:
- زبان برنامهنویسی Programming Language
زبان برنامهنویسی وبسرور، نوعی کد است که برای توسعهی برنامههای اجرا شده به وسیلهی سرور استفاده میشود. همچنین به عنوان زبانهای برنامهنویسی سمت سرور نیز شناخته میشود. زبانهای PHP و Python نمونههایی از زبانهای برنامهنویسی محبوب هستند.
- آپتایم Uptime
آپتایم در واقع مدت زمان روشن بودن و توانایی سرور در پردازش درخواستها و تحویل فایلها است و توانایی سرور در اداره و پاسخدهی وبسایت را نشان میدهد. هرچه آپتایم سرور بالاتر باشد، احتمال از دسترس خارج شدن آن کمتر میشود. آپتایم سرور بهمیزان قابل توجهی روی عملکرد وبسایت تاثیر میگذارد. استاندارد جهانی آپتایم ۹۹ درصد بوده و آپتایم سرورهای خوب بین ۹۸ تا ۹۹ درصد است. به عنوان نمونه آپتایم سرورهای ابری ابر آروان ۹۹.۹ است.
وبسرور چه کاربردی دارد؟
مهمترین کاربرد یک وبسرور، مدیریت محتواهای داخلی یک سایت است. این محتواها شامل تمام فایلها و اطلاعاتی میشوند که روی یک سایت قرار دارند. وبسرور، فایلهای وبسایت را میزبانی میکند تا در اینترنت قابل دسترس باشند. به همین دلیل است که ویژگیها و عملکرد یک وبسرور بر ایجاد و حفظ یک فضای میزبانی، متمرکز است.
اگر میخواهید سایتتان را راهاندازی کنید، نیاز به یک وبسرور دارید و آسانترین راه برای انجام این کار، میزبانی وب است. میزبانی وب، سرویسی است که برای محتوای سایت شما، مانند فایلها و پایگاه دادهها، فضای ذخیرهسازی فراهم میکند.
در حالت کلی، وبسرورها ۳ کاربرد اصلی دارند:
- میزبانی وبسایتها یا اپلیکیشنهای متعدد
- پردازش درخواستهای پروتکل انتقال فایل (FTP)
- ارسال و دریافت ایمیل
رایجترین وبسرورهای بازار کدامند؟
در ادامه به برخی از محبوبترین نمونههای وبسرور اشاره خواهیم کرد.
-
آپاچی
آپاچی قدیمیترین نرمافزار وبسرور و یکی از رایجترین آنهاست. آپاچی رایگان و متنباز (Open Source) است. به این معنی که کدهای اصلی این نرمافزار برای عموم در دسترس قرار دارد و به کمک ساختاری مبتنی بر ماژول بسیار انعطافپذیر است. متنباز بودن آپاچی باعث شده تا برنامهنویسان مختلف بینالمللی بتوانند ماژولهای خودشان را به آن اضافه کرده و آن را بهینهتر کنند. با اینکه این وبسرور در ابتدا برای سیستمعامل لینوکس طراحی و توسعه داده شده بود، اکنون برای بسیاری از سیستمعاملها از جمله ویندوز و Mac نیز استفاده میشود. در طول دهههای گذشته، آپاچی به خوبی ثابت کرده است که پایداری مناسب در کار با پلتفرمهای مختلف را دارد.
-
NGINX
NGINX یک وبسرور متنباز معروف است که در ابتدا فقط برای سرویسدهی وب HTTP کار میکرد. ولی در حال حاضر، به عنوان یک پروکسی معکوس، متعادلکنندهی بار HTTP و پروکسی ایمیل نیز استفاده میشود. NGINX به دلیل سرعت و توانایی بالا در مدیریت چندین اتصال، شناخته شده است. Nginx به جای اینکه برای هر درخواست تحت وب، یک پروسهی جدا ایجاد کند، از راهکاری استفاده میکند که درخواستها را در یک Thread مجزا مدیریت میکند. به همین دلیل است که بسیاری از وبسایتهای پربازدید از خدمات آن استفاده میکنند.
-
IIS
سرویس IIS (Microsoft Internet Information Services)، یک نرمافزار وبسرور بسته است که توسط مایکروسافت ارایه شده و بهشکل گسترده در سیستمعاملهای ویندوز استفاده میشود. IIS انعطافپذیری بالایی دارد و برخلاف وبسرورهای لینوکسی که تنها زبانهای برنامهنویسی خاصی را پشتیبانی میکنند، علاوه بر فریم ورک های .Netاز انواع مختلف فریم ورکهای دیگر و زبانهایی مانند PHP نیز پشتیبانی میکند. IIS با داشتن ویژگیها و افزونههای متنوع، انعطافپذیری بالایی در پردازش و راهاندازی فریمورک های مختلف دارد.
-
LiteSpeed
وبسرور LiteSpeed یکی دیگر از وبسرورهای پیشرو و یک وبسرور Open Source و رایگان است. وبسرور لایت اسپید از کارایی و مقیاسپذیری بیشتری در مقایسه با دیگر وبسرورها برخوردار است. با وجود نیاز کمتر به CPU پرقدرت، سرعت بالایی داشته و با انواع وبسایتها، اسکریپتها و کانفینگها، سازگاری دارد. لایتاسپید با آپاچی کاملن سازگار است و میتواند پیکربندیهای آن را نیز بارگذاری کند، به همین دلیل معمولن در کنار آن نصب میشود.
Apache | Nginx | IIS | LiteSpeed | |
+ | + | + | + | Authentication |
+ | + | + | + | HTTPS |
+ | – | + | – | ASP.NET |
+ | + | + | + | Virtual hosting |
جمعبندی
بهطور کلی، وبسرور محتوای وبسایتها–وبسرویسها را ذخیره کرده و درخواستهای دسترسی و تحویل محتوا را مدیریت میکند. هر وبسرور از دو بخش سختافزاری و نرمافزاری تشکیل میشود، که هرکدام نقش مشخصی در پردازش و تحویل فایلها ایفا میکنند. علاوه بر آن، انواع مختلف وبسرورها، میتوانند محتوای داینامیک یا محتوای ایستا را به مرورگر کاربر ارایه دهند. صرفنظر از نوع، وبسرورها دارای برخی ویژگیهای استاندارد هستند. مانند ارایهی فایلهای گزارشگیری، امکان احراز هویت، امکان محدود کردن پهنای باند و فضای ذخیرهسازی. با اینحال، عملکرد اصلی آنها میزبانی وبسایتها، پردازش درخواستهای HTTP و ارایهی محتوای وب به کاربران است. بنابر این، برای آنکه کاربران بتوانند به وبسایت شما دسترسی داشته باشند، نیاز دارید یا وبسرور اختصاصی خودتان را داشته باشید یا از سرویس میزبانی وب استفاده کنید.
توجه داشته باشید که سرویسهای میزبانی آروان، از انواع مختلفی از وبسرورها پشتیبانی میکنند. علاوه بر آن، با استفاده از سرویس میزبانی آروان، دیگر نگران امنیت و عملکرد وبسایتتان نخواهید بود. به همین دلیل، زمان بیشتری برای تمرکز روی سایر جنبههای کسبوکار و رشد وبسایت در اختیار خواهید داشت.