وب سرور چیست
یکی از اصلاحات رایج که در دنیای وب زیاد شنیده میشود وب سرور است. وب سرور یک نرم افزار کامپیوتری است که زیر مجموعه سرور است و وظیفهی ذخیره کردن اطلاعات و ارسال محتوای یک وب سایت به کلاینت درخواست کننده دارد. در این مطلب قصد داریم با وظیفهی وب سرور آشنا شویم و کاربردهای آن را بشناسیم.
وب سرور چیست؟
تقریباً تمام ما تجربهی استفاده از فضای وب را داریم و با استفاده از آن محتوایی را جستجو میکنیم یا فایلی را بارگذاری میکنیم. برای استفاده از یک سایت به سخت افزارها و نرم افزارهای مختلفی نیاز است. یکی از این نرم افزارها وب سرور است که در کنار زیر ساختهای دیگری مانند هاست، دامنه و پروتکلهای امنیتی به کاربران کمک میکند تا به سایت یا صفحهی مورد نظر دست پیدا کنند.
رایجترین کلاینتی که در فضای وب مورد استفاده قرار میگیرد مرورگرها هستند. وقتی یک سایت را بارگذاری میکنید یا روی یک لینک دانلود کلیک میکنید و با استفاده از آن فیلم یا فایلی را دانلود میکنید، در واقع مرورگر درخواست کاربر را به وب سرور ارسال میکند.
بررسی مفهوم وب سرور از نظر سخت افزاری و نرم افزاری
برای بررسی سخت افزاری وب سرور باید به این نکته توجه داشته باشیم که وب سرور مانند یک کامپیوتر است که فایلهای مربوط به وب سایت نظیر شیت CSS، تصاویر، جاوا اسکریپ و فایلهای HTML بر روی آن نگهداری میشود. در واقع وب سرور با استفاده از اینترنت دادههای ذخیره شده در سرور را برای کاربران میفرستد.
اما اگر بخواهیم وب سرور را به لحاظ نرم افزاری توصیف کنیم، باید بگوییم بخشهای مختلف آن شیوهی دسترسی کاربران را کنترل میکنند. به طور مثال نرم افزار HTTP server از طریق پروتکل http درخواست نمایش سایت را بررسی و با توجه به آن، پاسخ صحیح را ارسال میکند.
انتشار وب سایت نیاز به وب سرور استاتیک و دینامیک دارد.
- وب سرور استاتیک از یک سیستم کامپیوتری (سخت افزار) و یک سرور HTTP (نرم افزار) تشکیل میشود و فایلهای میزبانی شده را به همان شکلی که هستند به مرورگر ارسال میکند.
- وب سرور دینامیک یا پویا از یک وب سرور استاتیک و یک نرم افزار اضافی تشکیل میشود. نرمافزار اضافی اغلب از یک سرور برنامه و یک پایگاه داده تشکیل میشود. با توجه به اینکه سرور برنامه فایلهای میزبانی شده را قبل از فرستادن به مرورگر از طریق سرویس HTTP به روز میکنند، به آن سرور پویا گفته میشود.
وب سرور چگونه کار میکند؟
برای آشنایی با شیوهی عملکرد وب سرورها لازم است مسیر ارسال درخواست و دریافت پاسخ را بررسی کنیم. یعنی فرایندی که از طریق آن اطلاعات بین مرورگر وب و سرور تبادل میشود باید شناخته شود. فرض کنید یک آدرس را در نوار مرورگر وارد میکنید، بدینوسیله درخواست دریافت اطلاعات به دامنه سایت ارسال میشود و شما میتوانید صفحه اول سایت دسترسی داشته باشید.
در مرحلهی بعدی درخواست کاربر به DNS server ارجاع میشود تا IP سرور سایت دریافت شود و اطلاعات مورد نیاز کاربر در دسترس وی قرار بگیرد. علت ارجاع به IP این است که هر سایت IP منحصر به فرد دارد و تنها از این طریق میتوان به سرور سایت دسترسی پیدا کرد.
در واقع درخواست کاربر از این طریق به سرور میرسد و وب سرور آن را پردازش میکند و در نهایت پاسخ درخواست کاربر با فرمت صفحات HTML و با اطلاعات دیگر تحت پروتکل http به مرورگر ارسال میشود.
اما اگر وب سرور نتواند صفحهی مورد نظر کاربر را پیدا کند، ارور ۴۰۴ از سوی وب سرور برای شخص درخواست کننده ارسال میشود. به بیان سادهتر وب سرور نقش یک نامه رسان را دارد که اطلاعات بین کاربران و وب سرور را منتقل میکند و موجب ایجاد تعامل بین آنها میشود.
کاربردهای وب سرور چیست؟
بعد از آشنایی با شیوهی عملکرد وب سرور بهتر است با کاربردهای آن هم آشنا شویم. کاربرد وب سرور شامل موارد زیر است.
کاربرد وب سرور در مدیریت محتوای داخلی سایت
اصلیترین کاربرد وب سرور این است که میتواند محتوای داخلی یک سایت را مدیریت کند. محتوا منحصر به یک مورد خاص نیست و شامل عکسها و متن، ویدئو، حتی انواع مختلف کدهای جاوا و HTML میشود.
کاربرد وب سرور در بدست آوردن آدرس IP از نام دامنه
وقتی که کاربران آدرس یک صفحه را در فیلد جستجو وارد میکنند، به منزله این است که یک درخواست برای وب سرور ارسال میکنند. پس اگر یک سایت وب سرور نداشته باشد، درخواستی را نمیتواند دریافت کند. پس اگر کاربر اسم دامنه را تایپ کند و حتی درخواست را هم ارسال کند هیچ پاسخی نمیگیرد.
مثل اینکه زنگ یک منزل را فشار بدهید و چون کسی داخل آن سکونت ندارد، پاسخس دریافت نکنید و در به روی شما باز نشود.
انواع وب سرور چیست و هرکدام چه استفاده هایی دارند؟
انواع مختلفی از وب سرور در دسترس است که شرکتهای مختلفی آنها را ارائه میکنند و در اختیار کاربران فضای وب قرار میدهند. با توجه به اینکه سایتها کاربردهای متفاوت و بالتبع نیازهای متفاوتی دارند، لازم است وب سرورهای متفاوتی متناسب با آن انتخاب شود تا نیاز کاربران تامین شود.
وب سرور آپاچی چیست
یکی از قدیمیترین و معروفترین وب سرورها آپاچی است که در حال حاضر بالغ بر ۱۰۰ میلیون وب سایت مختلف از آن استفاده میکنند. وب سرور آپاچی در پلتفرم لینوکس اجرا میشود اما امکان نصب آن بر پلتفرمهای ویندوز هم وجود دارد. قابلیتها و ویژگیهای وب سرور آپاچی زیاد است اما مهمترین آنها این است که این وب سرور متن باز است. متن باز بودن باعث میشود امکان تعامل و شخصیسازی آن برای توسعه دهندگان بیشتر شود و همین امر باعث شده در رقابت بین وب سرورهای مختلف آپاچی بتواند پیشتاز باشد. ویژگیهای دیگر وب سایت آپاچی شامل موارد زیر است:
- پشتیبانی وبسرور آپاچی از زبانهای TCL, Python, Perl و PHP
- آماده کردن ماژولهای متعدد برای تعامل بیشتر با آپاچی
- تعامل و کنترل ۱۰ هزار درخواست
- قابلیت پشتیبانی از htaccess و پروتکل HTTP/2
- قابلیت محدود کردن کانکشنهای فعال
- توانایی Fault Tolerance و Failover
وب سرور لایت اسپید چیست
یکی از پر سرعتترین خدمات رسانی اینترنتی را میتوان از وب سرور لایت اسپید دریافت کرد که باعث شده در سایتهای پر بازدید از آن استفادهی زیادی شود. اگر بخواهیم بین سرعت لایت اسپید و آپاچی یک مقایسه انجام دهیم میتوانیم ادعا کنیم وب سرور لایت اسپید ۵/۱ برابر آپاچی سرعت دارد. البته کاربرانی که قصد استفاده وب سرور لایت اسپید را داشته باشند باید به این نکته توجه کنند که بابت استفاده از آن باید هزینهی بالایی بپردازند. ویژگیهای مهم وب سرور لایت اسپید شامل موارد زیر است:
- پشتیبانی از قابلیتهای آپاچی نظیر htaccess , Mod Security, Mod Rewrite
- پایداری بالای وب سرور لایت اسپید
وبسرور Nginx چیست
یکی دیگر از وب سرورهای محبوب که کاربران زیادی از آن استفاده میکنند، وبسرور Nginx است که با پلتفرمهای ویندوز، مک و لینوکس سازگاری دارد. بر اساس گزارشات حدود 12 درصد از سایتهای اینترنتی از وب سرور وبسرور Nginxخدمات خود را دریافت میکنند. ویژگیهای دیگر وبسرور Nginx شامل موارد زیر است:
- امکان فعال کردن بیش از ده هزار اتصال فعال همزمان
- قابلیت تعامل با فایلهای Status
- توانایی اجرای Load Balancing
- قابلیت Fault Tolerance
- امکان سازگاری با پروتکل IPV6
- استریم فرمتهای مختلف ویدئویی FLV و MP4
- امکان رصد کردن کاربران
- امکان پشتیبانی از پروتکلهای IMAP, SMTP و POP3
وب سرور IIS
وبسرور Internet Information Services به اختصار به نام IIS شناخته میشود فقط برای ویندوز قابل استفاده است. با توجه به اینکه وب سرور IIS در نسخههای ویندوز ساخته شده است نباید انتظار یک وب سرور رایگان را از آن داشته باشیم. سایر ویژگیهای وب سرور IIS شامل موارد زیر است:
- پشتیبانی از پروتکلهای HTTP ،HTTPS ،FTP،FTPS، SMTp و NNTP
- سازگاری با زبانهای برنامهنویسی ASP.net و Net. و زبان PHP
- ماژولهای متنوع و پشتیبانی از پروتکل WebSocket
- محدود بودن استفاده از وب سرور ISS به برنامهها و سایتهایی که با Net. پشتیبانی میشود.
وب سرور Apache Tomcat
Apache Tomcat دارای منبع باز جاوا سرولت است و به صورت وب سرور عمل میکند. برنامه جاوا که بتواند قابلیتهای یک سرور را گسترش دهد و بصورت یک وب سرور عمل میکند با نام جاوا سرولت شناخته میشود. در واقع سرولت به تمام تقاضاها پاسخ میدهد و میتوانند کاربردهای وب سرور را اجرا کنند و معادل جاوا برای تکنولوژی محتوای وب پویا مانند PHP و ASP.NET باشند.
اکثر مواقع Apache Tomcat در بین سرورهای برنامه کاربردی جاوا با منبع باز مانند: JBoss ،Glassfish، Wildfly دسته بندی میشود.
سخن پایانی
در این مطلب سعی کردیم پاسخ مناسبی برای سوال وب سرور چیست ارائه کنیم و متوجه شدیم فرایند استفاده از وب سرور به این صورت است که آدرس IP در رابطه با دامنه تعیین میشود. سپس آدرس مورد نظر در مرورگر به وسیله مخاطب وارد میشود و به وب سرور انتقال پیدا میکند وب سرور درخواست کاربر را بررسی میکند و فایل یا صفحهی مورد نظر کاربر را نشان میدهد. در نهایت با وب سرورهای مختلف با امکانات متفاوت آشنا شدیم.