میزبانی وب

وب سرور چیست؟

وب سرور(Web Server) به عنوان جزئی از یک ساختار وسیع‌تر از برنامه های مربوط به اینترنت و اینترانت به شمار می آید که برای خدماتی مانند دانلود ریکوئست‌های فایل های پروتکل انتقال پرونده (File Transfer Protocol / FTP) و ساخت و انتشار صفحات وب استفاده می شود. مواردی که در انتخاب یک وب سرور باید مد نظر قرار گیرد به شرح ذیل است:

  • نحوه کارکرد و تعامل آن با سایر سرورها
  • توانایی استفاده از برنامه نویسی سمت سرور یا server-side
  • ویژگی های امنیتی
  • موتور جستجو
  • ابزار ایجاد سایت

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

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

  1. از جنبه سخت افزاری، یک وب سرور یک رایانه است که نرم افزار وب سرور و فایل های اجزای وب سایت را ذخیره می کند، به عنوان مثال اسناد HTML، تصاویر، استایل شیت های CSS و فایل های جاوا اسکریپت. این وب سرور به اینترنت متصل است و از تبادل اطلاعات با سایر دستگاه های متصل به وب پشتیبانی می کند.
  2. از جنبه نرم افزاری، یک وب سرور شامل چندین بخش (حداقل یک سرور 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 Hypertext Transfer Protocol / پروتکل انتقال ابرمتن) را فراهم می کند. همان طور که از نام آن معلوم است، HTTP چگونگی انتقال ابر متن (یعنی اسنادِ وبِ لینک شده) بین دو کامپیوتر را مشخص می کند.

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

متنی یا Textual

همه دستورات، متن ساده و قابل خواندن برای انسان هستند.

Stateless

نه سرور و نه مشتری، ارتباطات قبلی را به یاد نمی آورد. به عنوان مثال، یک سرور نمی تواند تنها با تکیه بر HTTP، رمز عبور تایپ شده را بخاطر داشته باشد. برای انجام وظایف این چنینی، شما به یک سرورِ برنامه نیاز دارید.

قواعد ارتباط HTTP

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

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

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

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

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

محتوای استاتیک و محتوای پویا

راه اندازی وب سایت های استاتیک بسیار ساده است، بنابراین پیشنهاد می کنیم اولین سایت خود را به صورت استاتیک ایجاد کنید.

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

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

1 Star2 Stars3 Stars4 Stars5 Stars (هیچ نظری ثبت نشده است)
Loading...

برچسب ها

سیاوش غلامی

مدیر سرور ایران هاست - کارشناس ICT

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا
بستن
بستن