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

  • شروع کننده موضوع سیاوش غلامی
  • تاریخ شروع
س

سیاوش غلامی

Guest
شاید برای شما هم این سوال به وجود آمده باشد که هنگامیکه یک وب سایت را در مرور گر خود باز می کنید، چه فرایندی طی می شود که محتوای آن نمایش داده شود. در واقع اگر بخواهیم به جزئیات این پروسه بپردازیم، قطعا در چندین و چند مقاله نیز امکان خلاصه کردن مطلب وجود نخواهد داشت! اما در این مقاله قصد داریم که مهمترین بخش این فرایند که همان «وب سرور» است را برای شما توضیح دهیم. لطفا با ما همراه باشید تا پاسخ پرسش «وب سرور چیست یا web server چیست» را با هم بررسی کنیم.

وب سرور چیست ؟


به زبان ساده، یک web server وظیفه ی ذخیره سازی و ارسال محتوای یک وب سایت را به کلاینتی که آنرا درخواست کرده دارد. محتوای درخواست شده می تواند متن، عکس و فیلم و یا حتی اطلاعات یک اپلیکیشن باشد. رایج ترین نوع کلاینت نیز مرورگرها هستند. زمانی که سایت را بارگذاری می کنید یا روی لینک دانلود کلیک کرده و فایلی را دانلود می کنید، عملا مرورگر در حال ارسال درخواست شما به وب سرور آن وب سایت است.حال که با مفاهیم web server چیست آشنا شدید در امتداد مقاله به بررسی web server چگونه کار می کند می پردازیم.

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


در پاسخ به web چیست بایستی گفت شبکه جهانی وب، که معمولاً با عنوان وب معروف است، یک سیستم اطلاعاتی است که در آن اسناد و منابع دیگر وب توسط منابع یکسان شناسایی می شوند، که ممکن است با ابر متن پیوند برقرار شود و از طریق اینترنت قابل دسترسی باشد. حال که با مفهوم وب چیست آشنا شدید در امتداد مقاله به بررسی web server چگونه کار می کند می پردازیم.

کاربرد وب سرور چیست و web server چگونه کار می کند؟


“وب سرور” می تواند به سخت افزار یا نرم افزار، یا هر دو آن ها که به همراه یک دیگر کار می کنند، گفته شود.

از جنبه سخت افزاری، وب سرور یک رایانه است که نرم افزار وب سرور و فایل های اجزای وب سایت را ذخیره می کند، به عنوان مثال اسناد HTML، تصاویر، استایل شیت های CSS و فایل های جاوا اسکریپت را می‌توان نام برد. این وب سرور به اینترنت متصل است و از تبادل اطلاعات با سایر دستگاه های متصل به وب پشتیبانی می کند.


از جنبه نرم افزاری، یک وب سرور شامل چندین بخش (حداقل یک سرور HTTP) است که چگونگی دسترسی کاربران به فایل های روی هاست را کنترل می کند. یک سرور HTTP بخشی از نرم افزاری است که URL ها (آدرس های وب) و HTTP (پروتکلی که مرورگر شما برای مشاهده صفحات وب استفاده می کند) را درک می کند. این سرور از طریق نام دامنه وب سایت هایی که در آن ذخیره می شوند(مانند iranhost.com)، قابل دسترسی است و محتوا را به دستگاه کاربر نهایی عرضه می کند. از جمله وب سرورهای معروف نیز می توان به Apache، Nginx، IIS و LiteSpeed اشاره کرد.



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

وب سرور استاتیک و داینامیک


برای انتشار یک وب سایت، شما نیاز به یک وب سرور استاتیک (Static) یا داینامیک (Dynamic) دارید.

یک وب سرور استاتیک شامل یک کامپیوتر (سخت افزار) به همراه یک سرور HTTP (نرم افزار) است. که آن را “استاتیک” می نامیم زیرا سرور، فایل های میزبانی شده را “همان گونه که هست” به مرورگر شما ارسال می‌کند.

یک «هاست وب سرور پویا یا داینامیک»، شامل یک وب سرور استاتیک، به علاوه ی یک نرم افزار اضافی، (اغلب یک سرور برنامه و یک پایگاه داده) است. که آن را “پویا” می نامیم، زیرا سرور برنامه، فایل های میزبانی شده را قبل از فرستادن آن ها به مرورگر شما، از طریق سرور HTTP به روز می کند.



به عنوان مثال، برای تولید صفحات وب نهایی که در مرورگر مشاهده می کنید، سرور برنامه ممکن است قالب HTML را با محتویات یک پایگاه داده، پر کند. سایت هایی مانند MDN یا ویکی پدیا دارای هزاران صفحه وب هستند اما این صفحات، اسناد HTML واقعی نیستند، بلکه فقط چند قالب HTML و یک پایگاه داده غول پیکر هستند. این موضوع باعث آسان تر شدن و سریع تر شدن نگهداری و ارائه محتوا می شود.

همانطور که گفته شد، برای دریافت یک صفحه وب، مرورگر شما، درخواستی را به وب سایت سرور می فرستد، که در فضای ذخیره سازی اش، اقدام به جستجوی فایل درخواست شده می کند. هنگام پیدا کردن فایل، سرور آن را می خواند، به شکل مورد نیاز پردازش می کند و به مرورگر می فرستد. بیایید این مراحل را با جزئیات بیشتری بررسی کنیم.

فایل های میزبانی وب


وب سرور، ابتدا باید فایل های وب سایت، یعنی تمام اسناد HTML و دارایی های مرتبط با آن، از جمله تصاویر، استایل شیت های CSS، فایل های جاوا اسکریپت، فونت ها و ویدیو ها را ذخیره کند.

از لحاظ فنی، شما می توانید تمام آن فایل ها را بر روی کامپیوتر خود میزبانی کنید، اما بسیار راحت تر است که همه آن ها را در یک وب سرور اختصاصی ذخیره کنید که

  • همیشه در حال اجرا است.
  • همیشه به اینترنت متصل است.
  • همیشه آدرس IP یکسان دارد (همه ISP ها، آدرس IP ثابت برای خطوط داخلی ارائه نمی دهند).
  • توسط ارائه دهنده شخص ثالث نگهداری می شود.

به همه این دلایل، پیدا کردن یک ارائه دهنده خدمات میزبانی مناسب، یک بخش کلیدی و مهم برای ساختن وب سایت است. به همین دلیل باید خدمات مختلفی را که شرکت ها ارائه می دهند، بررسی کرده و یکی را انتخاب کنید که متناسب با نیازهای شما و بودجه شما باشد (هزینه این خدمات، می تواند رایگان و یا هزاران دلار در هر ماه باشد).حال در امتداد مقاله به بررسی برقراری ارتباط از طریق HTTP وب سرور چیست می پردازیم.

برقراری ارتباط از طریق HTTP وب سرور چیست ؟


در وهله ی دوم، یک وب سرور، پشتیبانی (HTTP Hypertext Transfer Protocol / پروتکل انتقال ابرمتن) را فراهم می کند. همان طور که از نام آن معلوم است، HTTP چگونگی انتقال «ابر متن» (یعنی اسنادِ وبِ لینک شده) بین دو کامپیوتر را مشخص می کند.

یک پروتکل، مجموعه ای از قوانین ارتباطی بین دو کامپیوتر است. HTTP یک پروتکل متنی یا Textual، و Stateless است.

قواعد ارتباط HTTP وب سرور چیست؟


HTTP قواعد روشنی را برای چگونگی برقراری ارتباط مشتری و سرور فراهم می کند:

فقط مشتریان می توانند درخواست های HTTP را ایجاد کنند و سرورها تنها می توانند به درخواست HTTP یک مشتری پاسخ دهند.



  • هنگام درخواست یک فایل از طریق HTTP، مشتریان باید URL فایل را ارائه دهند.
  • وب سرور باید به هر درخواست HTTP، حداقل با یک پیام خطا پاسخ دهد.

در یک وب سرور، HTTP مسئول پردازش و پاسخ گویی به درخواست های ورودی است.

  1. در دریافت درخواست، یک سرور HTTP ابتدا بررسی می کند که URL درخواست شده با یک فایل موجود مرتبط است.
  2. اگر چنین است، وب سرور محتوای فایل را به مرورگر ارسال می کند. اگر نه، یک سرور برنامه، فایل مورد نیاز را ایجاد می کند.
  3. اگر هیچ فرایندی امکان پذیر نباشد، وب سرور یک پیام خطا را به مرورگر ارسال می کند، این پیغام در اغلب موارد، Not Found 404 است. (این خطا بسیار رایج است و بسیاری از طراحان وب، زمان زیادی را صرف طراحی صفحات خطای ۴۰۴ می کنند).



کلام آخر


در این مقاله سعی کردیم تا پاسخی برای پرسش «وب سرور چیست» ارائه دهیم. وب سرورهای زیادی وجود دارند که هر کدام بسته به ساختار خود، امکانات متفاوتی را ارائه می دهند. در این بین شرکت‌های هاستینگ از این امکانات استفاده کرده و سرویس‌های میزبانی وب را در اختیار کاربران خود قرار می‌دهند. برخی از این سرویس‌ها برای مقاصد خاصِ وبسایت مانند وبلاگ ها، ویکی ها یا فروشگاه های آنلاین ارائه می شوند؛ بعضی دیگر، که CMS (سیستم های مدیریت محتوا یا Content Management Systems) نامیده می شوند، عمومی تر هستند و بعضا توسط شرکت‌های هاستینگ، میزبانی‌های مختص CMS ها همانند هاست اختصاصی وردپرس نیز ارائه می شود . اگر شما در حال ایجاد یک وب سایت پویا هستید، باید یک ابزار متناسب با نیاز های خود را، انتخاب کنید و به فکر سرور وب سایت مناسب باشید که بین شرکتهای مختلف پیدا کردن سرور سایت شروع می شود و بایستی با توجه به منابع و پهنای باند و نیاز خود وب سرور ویندوز یا لینوکسی را انتخاب کنید.
 
آخرین ویرایش توسط مدیر:
عقب
بالا