با انواع وب سرور آشنا شویم

وب سرور

با انواع وب سرور آشنا شویم

وب سرور چیست؟

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

 وب سرور

یکی از رایج‌ترین اصطلاحاتی که در دنیای وب به گوش می‌خورد، وب سرور است. وب سرور یا Web server نرم افزاری کامپیوتری است که اصلی‌ترین وظیفه آن ارائه اطلاعات و سرویس‌های درخواست شده در قالب صفحات وب به کاربران است. بنابراین وب سرویس‌ها اطلاعات خواسته شده را به صورت فایل HTML همراه با هر نوع داده دیگری مانند تصویر، متن، فایل‌های CSS و همچنین جاوا اسکریپت به مرورگر کاربران ارسال می‌کنند.

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

 وب سرور

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

درک بهتر چگونگی عملکرد وب سرورها، نیازمند شناخت مسیری است که درخواست شما برای دریافت پاسخ طی می‌کند. بنابراین باید ابتدا ساز و کاری را که برای تبادل اطلاعات میان یک مرورگر وب و یک سرور انجام می‌شود درک کنید. برای مثال اگر آدرس سایت یکپارچه را (www.1parche.com) در مرورگر خود وارد کنید، درخواست شما برای دریافت اطلاعات مربوط به صفحه اصلی سایت به دامنه سایت ارسال می‌شود. پس از این مرحله، درخواست شما به DNS server ارجاع داده می‌شود تا IP مربوط به سرور سایت را دریافت کند.

 وب سرور

زیرا هر سایتی یک IP منحصر به فرد دارد که به وسیله آن می‌توانید به سرور سایت دسترسی پیدا کنید. در این مرحله درخواست شما به سرور می‌رسد و توسط وب سرور مورد پردازش قرار می‌گیرد. در نهایت پاسخ درخواست شما در قالب صفحات HTML همراه با اطلاعاتی دیگر تحت پروتکل HTTP به مرورگر شما ارسال خواهد شد. بنابراین وب سرور را می‌توان به نامه رسانی تشبیه کرد که وظیفه تبادل اطلاعات میان وب سایت و کاربران را بر عهده دارد.

 وب سرور
ویژگی های مشترك وب سرورها

در حالت کلی وب سرورها داراي ويژگي هاي ذيل مي باشند:

? احراز هويت

قبل از اينكه اجازه دسترسي به منبع درخواستي كاربر را بدهند آن را شناسايي مي كنند.

?? اجازه دسترسي

نه تنها اجازه دسترسي به منابع استاتیک (مانند محتويات فايل ها که بر روی سیستم فایلی وجود دارد) را به كاربر مي دهد، بلکه مفاهيم دايناميك را با يك يا چند ساختار نيز مانند SI , GI , CGI ,FastCGI ,JSP ,PHP ,ASP , ASP.NET اداره مي كند.

 وب سرور

?? امكان استفاده

این نوع پشتیبانی وب سرورها امكان استفاده از پروتكل HTTPS را نيز فراهم نموده تا به کاربران اجازه دهند ارتباطات مطمئن و امني را داشته باشند.

? فشرده سازي

فشرده سازی مطالب تا بتوان از حجم پاسخ ها کم کرد. (با استفاده از تكنولوژي GZIP)

? پهناي باند

وب سرورها پهناي باند را کنترل کرده تا بدين طريق از سرعت پاسخ ها كاسته و همچنين از ترافيك و ازدحام شبكه جلوگيري نمايند، در اين صورت وب سرورها قادر به پاسخگوئي به كاربران بيشتري خواهند بود.

? پشتيباني از فايل هاي بزرگ

پشتیبانی از فایلهای بزرگ، تا بتواند فایل های بزرگتر از 2 گیگا بایت را سرویس دهی کند.

 وب سرور

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

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

۱.وب سرور Apache

 وب سرور

وب سرور Apache یکی از معروف‌ترین وب سرورهایی است که توسط تشکیلات نرم‌افزاری Apache توسعه داده شده است. Apache که یک نرم‌افزار منبع باز است تقریبأ از تمام سیستم‌های عامل مثل Linux، Windows، Unix FreeBSD، Mac OS X و غیره پشتیبانی می‌کند. تقریبأ ۶۰% از ماشین‌ها در وب سرور Apache کار می‌کنند. به راحتی می‌توانید یک وب سرور Apache را سفارشی کنید زیرا دارای یک ساختار مدولار است. از آنجاییکه یک منبع باز است، اگر بخواهید اصلاحاتی متناسب با نیازمندی‌هایتان انجام دهید می‌توانید مدول‌هایتان را به سرور اضافه کنید. این وب سرور در مقایسه با وب سرورهای دیگر به شدت پایدار است و مشکلات اجرایی در آن به راحتی حل می‌شود. می‌توان Apache را با موفقیت در چند پلتفرم نصب کرد. آخرین نسخه‌های Apache در مقایسه با نسخه‌های ابتدایی‌تر آن به شما انعطاف‌پذیری لازم برای پاسخ به تقاضاهای بیشتر را ارائه می‌دهند.

۲.وب سرور IIS

 وب سرور

IIS محصول مایکروسافت است و سروری است که تمام ویژگی‌های Apache را عرضه می‌کند. از آنجاییکه این سرور یک منبع باز نیست اضافه کردن مدول‌های شخصی و همچنین اصلاح آن کمی دشوار است. این سرور از تمام پلتفرم‌هایی که در سیستم عامل ویندوز راه‌اندازی می‌شوند پشتیبانی می‌کند. همچنین اگر به مشکل برخوردید می‌توانید پشتیبانی از مشتریان را بخوبی دریافت کنید.

۳.وب سرور Nginx

 وب سرور

Nginx پس از Apache یک وب سرور منبع باز است. این سرور از پروکسی سرور IMAP/POP3 تشکیل شده است. ویژگی‌های قابل توجهی که Nginx ارائه می‌دهد عبارتند از عملکرد بالا، پایداری، پیکره‌بندی ساده و کاربرد منابع کم. Nginx برای پاسخ به تقاضاها به هیچ رشته‌ای نیاز ندارد، درعوض یک معماری رویدادمحورِ قابل مقیاس‌بندی که از مقدار کم و قابل پیشبینی از حافظه تحت بار استفاده می‌کند در اینجا کاربرد دارد. این سرور به تازگی معروف شده و به طور جهانی میزبان 7.5% از تمام دامنه‌ها است. بسیاری از شرکت‌های خدمات هاست لینوکس از این سرور استفاده می‌کنند.

۴.وب سرور LiteSpeed

LiteSpeed یک جایگزین برای Apache با عملکرد بالا است و چهارمین وب سرور محبوب در اینترنت و یک وب سرور تجاری می‌باشد. وقتی وب سرورتان را به LiteSpeed ارتقا می‌دهید بهبود عملکرد زیاد را با هزینه عملیاتی کم تجربه خواهید کرد. این سرور با ویژگی‌های رایج Apache مثل .htaccess، mode_rewrite و mod_security سازگاری دارد. این سرور می‌تواند فایل‌های پیکره‌بندی Apache را بارگذاری کند و بصورت یک جایگزین برای Apache همراه با تمام پنل‌های کنترل از جمله هاست cPanel کار می‌کند. سرور LiteSpeed می‌تواند ظرف 15 دقیقه بدون هیچ خرابی با Apache جایگزین شود. LSWS تمام عملکردها و وظایف Apache را جایگزین می‌کند که هیچ راه حل پروکسی front-end دیگری نمی‌تواند این کار را انجام دهد تا تغییر حالت از Apache به LiteSpeed را راحت‌تر کند.

۵.Apache Tomcat

Apache Tomcat که حاوی منبع بازِ جاوا سرولت (Java servlet) است بصورت یک وب سرور عمل می‌کند. یک برنامه جاوا که قابلیت‌های سرور را توسعه می‌دهد جاوا سرولت نامیده می‌شود. سرولت‌ها می‌توانند به هر نوع تقاضایی پاسخ دهند اما معمولأ کاربردهای وب سرورها را اجرا می‌کنند. این سرولت‌های وب معادلِ جاوا برای تکنولوژی‌های محتوای وب پویا مثل PHP و ASP.NET هستند.

میکروسیستم‌های سان مبنای کد Tomcat را در سال ۱۹۹۹ به تشکیلات نرم‌افزاری Apache اهدا کرد که در سال ۲۰۰۵ به یک پروژه سطح بالا برای Apache تبدیل شد. در حال حاضر فقط کمتر از 1% از تمام وبسایت‌ها را پشتیبانی می‌کند. Apache Tomcat که تحت نسخه دوم مجوز Apache منتشر شده معمولأ برنامه‌های کاربردی جاوا را اجرا می‌کند. اما می‌توان آن را به Coyote توسعه داد به گونه‌ای که بتواند نقش یک وب سرور نرمال که فایل‌های محلی را بصورت اسناد HTTP ارائه می‌دهد را نیز ایفا کند. Apache Tomcat اغلب در میان سرورهای برنامه کاربردی جاوا منبع باز فهرست‌بندی می‌شود، مثل Wildfly، JBoss و Glassfish.

۶.Node.js

Node.js اساسأ یک محیط JavaScript برای سرور است که برای برنامه‌های کاربردی شبکه مثل وب سرورها بکار می‌رود. در اصل رایان داهل در سال 2009 آن را نوشت. Node.js با موقعیت کوچکتری که در بازار دارد تقریبأ 0.2% از تمام وب‌سایت‌ها را پشتیبانی می‌کند. پروژه Node.js به مدیریت تشکیلات Node.js به کمک برنامه پروژه‌های مشارکتی تشکیلات Linux انجام می شود. هاست Nodejs با وب سرورهای محبوب دیگر فرق دارد زیرا این سرور اصولأ یک محیط زمان اجرای کراس‌پلت‌فرم برای ساخت برنامه‌های کاربردی شبکه است.

یک معماری رویدادمحور توسط Node.js اعمال می‌شود که قادر به اجرای I/O ناهمزمان است. به دلیل این انتخاب‌های طراحی، توان عملیاتی و مقیاس‌بندی در برنامه‌های کاربردی وب بهینه‌سازی می‌شوند که به برقراری ارتباطات زمان واقعی و بازی‌های بروزر کمک می‌کند.. Node.js همچنین به درک اختلاف در پشته‌های توسعه وب کمک می‌کند که در آن Node.js به وضوح بخشی از پشته‌های HTML، CSS و JavaScript می‌باشد، برخلاف Apache یا NGINX که بخشی از چند پشته نرم‌افزاری مختلف هستند. Node.js تحت ترکیبی از مجوزهای گوناگون منتشر می‌شود.

۷.Lighttpd

Lighttpd که «lightly» تلفظ می‌شود در ابتدا در مارس سال 2003 منتشر شد. Lighttpd در حال حاضر تقریبأ 0.1% از تمام وب‌سایت‌ها را راه‌اندازی می‌کند و تحت مجوز BSD توزیع می‌شود. Lighttpd به دلیل بار CPU کم، فوت‌پرینت کم‌حافظه و بهینه‌سازی سرعت منحصربفرد است. این سرور از یک معماری رویدادمحور استفاده می‌کند و برای تعداد زیادی از اتصالات موازی بهینه‌سازی می‌شود و همچنین از ویژگی‌های fastCGI، Auth، Output-compression، SCGI، URL-rewriting و بسیاری از ویژگی‌های دیگر پشتیبانی می‌کند. این یک وب سرور محبوب برای چارچوب‌های وب مثل Catalyst و Ruby on Rails است.

Share this post

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.