وب سرور چیست و چگونه کار میکند؟
در توضیح این که وب سرور چیست، میتوان به زبان ساده گفت که مجموعه نرمافزارها و سخت افزارهایی است که فایلهای وب سایت را ذخیره و پردازش میکنند و سپس آنها را به مرورگرهای وب تحویل میدهند. این نرمافزار و سخت افزارها از پروتکلهای انتقال ابرمتن استفاده میکنند تا بتوانند جوابگوی درخواست کاربران وب باشند. فرآیند عملکرد آنها به این صورت است که صفحه درخواستی را بارگیری و بعد از آن، صفحه را به مرورگر کاربر (مثلا گوگل کروم) ارسال میکنند. وظیفه بخش سختافزاری این است که به اینترنت متصل شود و امکان تبادل داده با سایر دستگاههای مرتبط را فراهم کند و در مقابل، بخش نرمافزاری وظیفه دارد که نحوه دسترسی کاربر به فایل میزبانی شده را مدیریت کند.
وب سرورها چگونه کار میکنند؟
وب سرورها از ساختار کلاینت-سرور دنباله روی میکنند. در این ساختار، یک برنامه که با عنوان کلاینت شناخته میشود، یک منبع یا یک سرویس را از برنامه دیگر که به عنوان سرور میشناسیم، در خواست میکند.
مراحل کار وب سرورها برای پاسخگویی به درخواست کاربران چند مرحله دارد:
- وقتی کاربری چیزی را جستجو میکند، مرورگر درخواست اجازه دسترسی به اینترنت را خواهد داد. این درخواست request HTTP نامیده میشود. مرورگر وب به دنبال آدرس یا IP وب سایت جستجو شده از طریق ترجمه URL صفحه وب به وسیله DNS میگردد یا این که در حافظه پنهان آن را جستجو میکند.
- بعد از آن وب سرور درخواست HTTP را دریافت و آن را از طریق سرور HTTP خود پردازش خواهد کرد. وقتی سرور HTTP درخواست را قبول کند، در فایلهای سرور جستجو میکند تا دادههای مربوط به درخواست را بیابد.
- در مرحله بعدی وب سرور فایلهای سایت مرتبط را به مرور گر وب که درخواست را فرستاده است، تحویل میدهد و کاربر وب از طریق مرورگر میتواند محتوای وب سایت را ببیند.
با این وجود در مواردی ممکن است سرور HTTP نتواند فایلهای درخواستی را پیدا یا پردازش کند. در این صورت با یک پیام و اعلان خطا به درخواست مرورگر پاسخ خواهد داد. از رایج ترین و متداول ترین نوع این پاسخها میتوان به این موارد اشاره کرد:
- شناخته شده ترین خطا، خطای 404 در مواردی که صفحه پیدا نمیشود.
- خطای 403 در مواردی که صفحه وجود دارد؛ اما مشکلات مربوط به مجوز و تحریمات اجازه نمایش سایت را ن میدهد.
- خطای 504 در مواردی که یک وب سرور نتواند پاسخ به موقعی از یک وب سرور دیگر که مثل دوازده و پروکسی عمل کرده است، دریافت کند.
دلایل استفاده از وب سرور
هر وب سروری سه کاربرد اصلی دارد. این کاربردها در واقع دلایلی هستند که ما را وادار به استفاده از وب سرور میکنند. این دلایل عبارتند از:
- میزبان تعداد زیادی وب سایت هستند و دسترسی به آنها را امکان پذیر میکنند.
- به پردازش و تفسیر درخواستهای FTP یا پروتکل انتقال فایل میپردازند.
- امکان ارسال و دریافت ایمیل را به آسانی فراهم میکنند.
-
این کاربردها نشان میدهد که چه به دنبال جستجوی سایت دیگری باشید، چه خودتان بخواهید یک وب سایت ایجاد کنید، راحت ترین راه استفاده از یک وب سرور به عنوان میزبان است.
وب سرور استاتیک و وب سرور پویا
بعد از تعریف وب سرور، ممکن است سوالات دیگری در ذهن ما ایجاد شود. یکی از این سوالات این است که وب سرور چه انواعی دارد؟ وب سرورها میتوانند محتوای ایستا یا پویا ارائه.
وب سرورهای استاتیک یا ایستا از یک کامپیوتر و نرمافزار HTTP تشکیل شده اند. این مدل، فایل وب سایتهای درخواست شده را بدون هیچ تغییری به مرورگر وب ارسال میکند؛ اما وب سرورهای پویا که از یک سرور ثابت به همراه نرمافزار اضافی تشکیل میشوند، فایلهای میزبانی شده را قبل از تحویل دادن به مرورگر وب، از طریق سرور HTTP به روز میکنند.
ویژگیهای وب سرور
همان طور که توضیح داده شد، وب سرورها از پروتکلهای HTTP برای پردازش درخواستها و پاسخهای دریافتی استفاده میکنند؛ اما این تنها ویژگی آنها نیست. اکثر آنها ویژگیهای استاندار دیگری نیز دارند، از جمله:
- ثبت فایل: فایل گزارشهایی مثل درخواست ها، امنیت و گزارشهای خطا در وب سرورها ثبت و مستند میگردد. هر بار که یک درخواست جدید دریافت شود، یک خط به متن گزارش اضافه خواهد شد.
- احراز هویت: تعداد زیادی از وب سرورها این ویژگی را قبل از اجازه دسترسی کامل یا حتی جزئی به منابع سایت، اعمال میکنند. ویژگی احراز هویت را احتمالا هر کدام از ما بارها زمانی که با نیاز به رمز عبور و کلمه کاربری مواجه میشویم در سایتهای مختلف دیدهایم.
- محدود کردن پهنای باند: پهنای باند یک وب سرور مقدار دادهای است که آن سرور میتواند در مدت زمان معینی انتقال بدهد یا پردازش کند. محدود کردن پهنای باند با کنترل کردن سرعت پاسخها کمک میکند که شبکه بیش از اندازه اشباع نشود و بتواند فایلها را به آرا میتحویل دهد.
- فضای ذخیره سازی: فضای ذخیره سازی همان مقدار فضای دیسک موجود برای ذخیره کردن فایل هاست. این ویژگی تعیین میکند که آیا وب سرور میتواند از یک وب سایت میزبانی کند یا خیر.
جمع بندی
وب سرورها مجموعهای از نرمافزارها و سخت افزارها هستند که فایل وب سایتهای مختلف را ذخیره و پردازش میکنند و سپس به مرورگر وب تحویل میدهند. آنها میتوانند بنا بر نوعشان انواع مختلفی از محتوای پویا یا ایستا را ارائه دهند. عملکرد و کاردکر اصلی وب سرورها میزبانی وب سایتها و پردازش درخواستهای HTTP است؛ اما ویژگیهای دیگری نیز دارند. در این مقاله توضیح دادیم که وب سرور چیست، ویژگیهای آن را برشمردیم و برسی کردیم که نحوه عملکرد آن چگونه است.