در این مقاله به بررسی وب سرور ها می پردازیم، وب سرور چیست و چه کاربردهایی دارد؟ انواع وب سرور ها و بهترین وب سرور ها را معرفی می کنیم و توضیح مختصری از آنها را بیان می کنیم. تفاوت وب سرورهای داینامیک با وب سرورهای استاتیک را بیان می کنیم و اینکه برای انتخاب وب سرور مناسب چه نکاتی را باید مدنظر داشته باشیم. و در انتها چند نکته امنیتی برای استفاده از وب سرور را بیان می کنیم. در ادامه با پارس وی دی اس همراه باشید.
وب سرور چیست؟
وب سرور شامل یک نرم افزار و سخت افزار می باشد که از HTTP و سایر پروتکلها برای پاسخ به درخواستهای سمت کاربر در وب جهانی (اینترنت) پاسخ میدهد.
اصلی ترین کار وب سرور، نمایش محتوای وبسایت به کاربران با استفاده از ذخیره سازی، پردازش و تحویل صفحات به آنها می باشد. ضمنا وب سرور بجز HTTP ، از پروتکل های SMTP و FTP برای ایمیل، انتفال فایل و ذخیره سازی استفاده میکند.
سخت افزار وب سرور به اینترنت متصل می شود و به داده ها، اجازه مبادله با دیگر دستگاههای متصل را می دهد، در حالی که نرم افزار وب سرور دسترسی کاربران به فایلها را کنترل میکند. فرآیند وب سرور نمونه ای از مدل کلاینت/سرور می باشد. تمام کامپیوترهایی که از سایتهای اینترنتی میزبانی میکنند باید یک نرم افزار وب سرور داشته باشند.
وب سرور در میزبانی هاست، یا میزبانی از داده های سایتها و برنامه های مبتنی بر وب یا نرم افزارهای وب استفاده می شود.
وب سرورها چطور کار میکنند؟
نرم افزار وب سرور را از طریق دامنه سایت قابل دسترسی است و وب سرور از تحویل محتوا به کلاینت های درخواست کننده تاییده میگیرد نا مطمئن شود محتوا به کاربر مورد نظر تحویل داده شده است.
بخش نرم افزاری وب سرور، از کامپوننتهای مختلف به اضافه حداقل یک HTTP server تشکیل است. HTTP server قادر است http ها و URL ها را تشخیص دهد. سخت افزار وب سرور، یک کامپیوتر است که نرم افزار وب سرور و سایر فایلهای مرتبط با وبسایت از جمله اسناد HTML، عکسها، و فایلهای جاوا اسکریپت را در خود نگهداری می کند.
وقتی که مرورگر اینترنت مثلا فایرفاکس یا گوگل کروم احتیاج به فایلی داشت که بر روی وب سرور میزبانی می شود، مرورگر اینترنت آن فایل را از طریق HTTP درخواست می کند. وقتی درخواست توسط وب سرور دریافت شد، HTTP server آن درخواست را قبول یا رد می کند. اگر آن را قبول کرد، آن فایل را پیدا می کند و از طریق HTTP به مرورگر اینترنت ارسال می کند.
اگر بخواهیم به طور دقیق تر توضیح دهیم، وقتی که مرورگر صفحه ای را از وب سرور درخواست می کند، این فرآیند شامل چند مرحله است. در ابتدا کاربر لینک صفحه مورد نظر خود را وارد آدرس بار مرورگر میکنند یا روی یک لینک کلیک میکند.
سپس وب سرور آدرس آیپی نام دامنه را بدست می آورد. سپس لینک صفحه یا همان URL را از طریق DNS یا از طریق جستجو در کش وب سرور پیدا می کند. در این حالت مرورگر به وب سرور هدایت می شود و مرورگر فایل مورد نظر را از طریق پروتکل HTTP از وب سرور درخواست می کند.
و سپس وب سرور پاسخ می دهد، و فایل مورد نظر را از طریق HTTP به مرورگر ارسال می کند. اگر صفحه درخواست شده وجود نداشته باشد یا مشکلی وجود داشته باشد، وب سرور با ارسال یک پیام خطا پاسخ می دهد. سپس مروگر قادر به نمایش صفحه مورد نظر خواهد بود.
همچنین امکان میزبانی از چند دامنه بر روی یک وب سرور نیز وجود دارد.
کاربردهای وب سرور چییست؟
- ارسال و دریافت ایمیل
- دانلود فایلهای درخواست شده از طریق پروتکل FTP
- ساخت و انتشار صفحات وب
اکثر وب سرورها از اسکریپتهای سمت سرور پشتیبانی می کنند که برای استفاده از اسکریپتها در وب سرور استفاده می کنند که میتواند پاسخ سفارشی به کلاینت ارسال کنند.
اسکریپتهای سمت سرور روی ماشین سرور اجرا می شوند و دارای ویژگی های مختلفی از جمله دسترسی به پایگاه داده (database) می باشند. اسکریپتهای سمت سرور، صفحات ASP و PHP و دیگر زبانهای اسکریپت را پردازش میکنند. همچنین این پردازش امکان تولید صفحات HTML بصورت داینامیک را فراهم می کند.
انواع وب سرور ها: داینامیک و استاتیک
وب سرورها، میتوانند برای تولید محتواهای داینامیک یا استاتیک مورد استفاده قرار گیرند. محتوای استاتیک یعنی محتوا، با همان حالتی که هست بدون هیچ گونه تغییری نمایش داده شود، ولی محتوای داینامیک یعنی محتوایی که می تواند تغییر کند یا بروز شود.
مرورگرهای داینامیک شامل یک وب سرور و برخی نرم افزارها مثل نرم افزارهای سرور و دیتابیس هستند و بصورت داینامیک کار می کنند چون نرم افزارهای سرور می توانند قبل از ارسال فایل مورد نیاز به مرورگر بر روی آن آپدیت یا تغییراتی اعمال کنند.
وب سرور می تواند داده های درخواستی از دیتابیس را تولید کند. اگرچه این فرآیند منعطف و داینامیک هست ولی ممکن است یک فرآیند پیچیده باشد.
بهترین وب سرور های موجود کدامند؟
در اینجا به معرفی بهترین وب سرور های موجود در بازار می پردازیم:
- Apache HTTP Server : این وب سرور توسط Apache Software Foundation توسعه یافته است. این وب سرور بصورت متن باز و برای سیستم عامل های ویندوز، مک، یونیکس، لینوکس و سولاریس و دیگر سیستم عامل ها در دسترس می باشد. و برای استفاده از این وب سرور باید لایسنس apache تهیه کنید.
- Microsoft Internet Information Services (IIS): این وب سرور، توسط مایکروسافت و برای پلتفرمهای خود مایکروسافت تهیه شده است. اوپن سورس نیست ولی بصورت گسترده مورد استفاده قرار می گیرد.
- Nginx: یک وب سرور متن باز محبوب برای مدیران سایتها می باشد چرا که هم استفاده بهینه از منابع دارد و هم مقیاس پذیری بالایی دارد. به دلیل سیستم رویداد محور، می تواند تعداد زیادی سشن را بصورت همزمان مدیریت کند. همچنین می تواند به عنوان یک سرور پروکسی و تنظیم کننده لود مورد استفاده قرار گیرد.
- Lighttpd: یک وب سرور رایگان می باشد که با سیستم عامل FreeBSD کار میکند. این وب سرور پرسرعت و ایمن می باشد و سی پی یو کمتری مصرفی می کند.
- Sun Java System Web Server: یک وب سرور رایگان از Microsystems است که امکان اجرا روی سیستم عامل های ویندوز، یونیکس و لینوکس را دارد.
از جمله نکاتی که باید برای انتخاب وب سرور در نظر بگیرید این است که روی چه سیستم عامل ها و سرورهایی جواب می دهند. و توانایی آن برای هندل کردن برنامه نویسی سمت سرور را بررسی کرد. ویژگیهای امنیتی، ابزارهای انتشار، موتور جستجو و ابزارهای ایجاد سایت همراه آن را هم مد نظر قرار دهید.
بر روی وب سرورها می توانید تنظیمان مختلفی انجام دهید و مقادیر پیش فرض را تنظیم کنید. برای داشتن عملکرد قوی، وب سرور می تواند در زمینه توان عملیات بالا و استفاده کمتر از منابع به شما کمک کند.
شیوه های امنیتی وب سرور:
اقدامات امنیتی زیادی را می توانید در وب سرور انجام دهید که می توانید امنیت بهتری را تجربه کنید. برخی اقدمات امنیتی مثل موارد زیر را می توانید مد نظر قرار دهید:
- reverse proxy ، که برای این طراحی شده است که میتواند سرور داخلی را مخفی کند و به عنوان یک واسطه برای تبادل ترافیک با سرور داخلی عمل کند.
- ایجاد محدودیت دسترسی وب هاست به ماشین زیرساخت یا استفاده از SSH
- نصب پچ های امنیتی و بروز نگه داشتن وب سرور از طریق آپدیت کردن آن برای جلوگیری از آسیبها و خطرات امنیتی احتمالی.
- مانیتورینگ شبکه، جهت بررسی فعالیت های مشکوک و اطمینان از نبود فعالیت های غیرمجاز در آن.
- استفاده از فایروال و SSL به عنوان فایروال که می تواند بر روی ترافیک HTTP با استفاده از لایه SSL نظارت کند و به امنیت داده ها به شما کمک کند.