اگر به کلمه Localhost جزئیتر نگاه کنیم، میتوان دید که از دو بخش Local بهمعنای محلی و Host تشکیل شده است. بنابراین برای درک بهتر اینکه Localhost چیست و چه کاربردی دارد، شاید بهتر باشد ابتدا به تعریف هاست بپردازیم.
هاست چیست؟
هاست یکی از بخشهای مهم وبسایت بهشمار میرود که در آن فایلهای اجرای وبسایت قرار میگیرند. فرض کنید قصد دارید فروشگاه آنلاین راهاندازی کنید، مانند فروشگاههای فیزیکی که به محلی برای قراردادن و عرضهی محصول نیاز دارند، وبسایتهای فروشگاهی یا ارائهکنندگان خدمات نیز به هاست برای ارائهی سرویسهای خود نیاز دارند. بهطور خلاصه، وب هاستینگ روشی برای اشتراکگذاری وبسایت در اینترنت برای دسترسی کاربران است که در ادامه دسترسی به آن ازطریق نام دامنه برای کاربران فراهم میشود.
نام دامنه یا Domain Name، همان آدرس وبسایت است که در نوار آدرس مرورگر تایپ میکنید و به آن وارد میشوید. مثلاً google.com نام دامنه موتور جستوجوی گوگل بهشمار میرود. علاوهبراین، هر دستگاهی که در شبکه اینترنت فعال باشد دارای یک آدرس IP خواهد بود. درواقع، نام دامنه ترجمهای قابل فهم از آدرس IP وبسایت برای انسان بهشمار میرود. بهطور خلاصه آدرسهای IP در شبکههای کامپیوتری یک رشتهای از اعداد هستند که با استفاده از DHCP به تمام دستگاههای متصل به شبکه اختصاص مییابند. بنابراین، وقتی نام دامنهای در مرورگر وارد میشود مراحل ترجمه نام دامنه به IP انجام خواهد شد و وبسایت مربوط به آن آدرس IP، اگر دردسترس باشد بارگذاری میشود.
برای مثال، یکی از آدرسهای IP گوگل مقدار 216.239.38.120 است که با وارد کردن آن در نوار آدرس مرورگر میتوان وبسایت را بارگذاری کرد. درهر صورت، وارد جزئیات بیشتر دربارهی مقوله هاست نمیشویم و اکنون که متوجه تعریف کلی هاستینگ شدیم سراغ پاسخ به پرسش «لوکال هاست چیست؟» خواهیم رفت.
لوکال (Localhost) هاست
یکی از راههای آسان برای درک مفهوم لوکال هاست این است که آن را بهعنوان «This PC» در سیستم عامل ویندوز اما با امکان دسترسی ازطریق مرورگر، بهحساب آوریم. بهطور خلاصه، Localhost نام پیشفرضی است که برای برقراری اتصال با خود کامپیوتر بهواسطهی آدرس Loopback، تعریف میشود.
آدرس لوپبَک یا حلقه بازگشت آدرس IP مشخصی دارد که در بازهی ۱۲۷.۰.۰.۰ تا ۱۲۷.۲۵۵.۲۵۵.۲۵۵ قرار میگیرد و عمدتاً برای راهاندازی آزمایشی اپلیکیشنهای تحت وب یا وبسایتها روی کامپیوتر بدون ارسال داده و اطلاعات روی اینترنت، بهکار گرفته میشود. برای مثال، میتوان گفت Loopback در لوکال هاست مانند وسیلهی بازی بومرنگ است و آدرس IP آن معمولاً ۱۲۷.۰.۰.۱ خواهد بود.
وسیله بازی بومرنگ (Boomerang) را احتمالاً دیدهاید که با توجه به طراحی خاصی که دارد در صورت پرتاب در محیط آزاد و بدون مانع، بعداز طی مسیر دایرهای شکل، مجدداً به نقطه پرتاب میرسد. درواقع، در شبکه کامپیوتری، هر بستهای که به آدرس لوپبک ارسال میشود، هرگز دستگاهی که آن بسته را تولید کرده ترک نمیکند و تمام فرایندهای تولید سیگنال، انتقال، دریافت و پردازش داده همگی در یک دستگاه انجام میشوند؛ بنابراین مانند بومرنگ به نقطه ارسال بازمیگردد.
همانطورکه پیشتر گفته شد وقتی در نوار آدرس مرورگر آدرسی را وارد میکنیم درواقع، آدرس IP آن وبسایت فراخوانی میشود که روی دستگاه دیگری قرار دارد. اما، با فراخوانی آدرس لوپبک، ۱۲۷.۰.۰.۱، کاربر لوکال هاست یا کامپیوتر خود را فراخوانی میکند.
کاربرد Localhost
لوکال هاست برخلاف ماهیت سادهای که دارد میتواند کاربردهای متفاوتی داشته باشد. اگر توسعهدهنده هستید یا بهعنوان مدیر شبکه فعالیت میکنید یا بهطور کلی قرار است وبسایت تازهای را تست کنید، با کمک Localhost میتوانید محیط و شرایط لازم برای این اهداف را فراهم کنید.
تست برنامه یا اپلیکیشن وب
لوکال هاست یکی از اصلیترین ابزار تست برای توسعهدهندگان بهحساب میآید. بهخصوص برای توسعهدهندگان وبسایت و کسانی که اپلیکیشنهای تحت وب میسازند که برای راهاندازی نیاز به ارتباط شبکهای دارد. در آخرین مراحل توسعه، برای کارآزمایی وبسایت، تستهای مختلفی اجرا میشوند تا کاربری اپلیکیشن مورد بررسی قرار بگیرد؛ بنابراین، توسعهدهنده میتواند با استفاده از Loopback این امکان را داشته باشد که برنامه را با راهاندازی لوکال هاست، بهصورت شبیهسازیشده آزمایش کند و فرایند فراخوانی و اجرای اپلیکیشن وبسایت را مورد کارآزمایی قرار دهد.
درواقع، در طی این فرایند بهمحض راهاندازی لوپبک، سیستمعامل کامپیوتر توسعهدهنده بهصورت وبسرور شبیهسازی میشود و توسعهدهنده میتواند بدون هزینه برای سرور و دردسرهای خاص آن و البته، بارگذاری نسخهی غیرنهایی وبسایت روی سرور، فایلهای برنامه وبسایت را در وبسرور داخلی بارگذاری کند و عملکرد آن را بررسی کند.
مسدودسازی وبسایت با Localhost
یکی از ترفندهای جالبی که میتوان با کمک لوکال هاست در ویندوز اجرا کرد مسدودسازی دسترسی به برخی وبسایتها است. بهبیانی دیگر، لوپبک میتواند برای جلوگیری از بارگذاری وبسایتهای مخرب و حاوی ویروس شناختهشده، به کمک کاربران اینترنت بیاید.
درواقع، اکثر مرورگرها قابلیتی برای مسدودسازی آدرسهای معین دارند؛ اما، استفاده از لوکال هاست برای مسدودسازی وبسایتها، بهگونهای انجام میشود که وابسته به هیچ مرورگری نیست و فرقی ندارد که از چه مرورگری آدرس آن وبسایت فراخوانی شود، در هر صورت دسترسی به آن ممکن نخواهد بود. زیرا، ممکن است چندین کاربر با یک سیستم وبگردی کنند و هرکدام از مرورگر خاصی استفاده کنند؛ بنابراین، با کمک لوکال هاست این امکان وجود دارد بارگذاری وبسایتهای بهخصوص را مسدود کرد.
پیش از این که به چگونگی عملکرد لوکال هاست برای مسدودسازی وبسایت بپردازیم باید با فایل Hosts آشنا شوید. همانطور که بالاتر گفته شد، هر نام دامنهای در اینترنت یک آدرس IP دارد و با وارد کردن نام دامنه، DNS برای دستیابی به آن دامنه، آدرس IP آن وبسایت را که با آن ثبت شده است، جستوجو میکند و آن را فرامیخواند و درنهایت محتوای وبسایت بارگذاری میشود.
فایل Hosts در ویندوز با هدف بهبود فراخوانی IP ایجاد شده است و میتوان با اعمال تغییرات در آن وبسایتهای بهخصوص را مسدود کرد. بنابراین، برای مثال، میتوانید با ایجاد تغییر در آن فایل و قرار دادن آدرس ۱۲۷.۰.۰.۱ برای نام دامنهی موردنظر، دسترسی به آن وبسایت را مسدود کنید و بهجای آن به لوکال هاست هدایت شوید.
البته، امروزه با وجود انواع DNS، کاربرد فایل Hosts بسیار کمرنگ شده است؛ اما همچنان میتوان این فایل را در نسخههای مختلف ویندوز پیدا کرد. برای دسترسی به آن در سیستمعامل ویندوز به آدرس زیر مراجعه کنید:
system32\drivers\etc\hosts
علاوهبراین، برای دسترسی به این فایل در سیستمعاملهای مکاواس و سیستمهای برپایه یونیکس میتوان به آدرس زیر مراجعه کرد:
/etc/hosts
برای مسدودسازی از طریق لوکال هاست میتوان در فضای اینترنت نیز فایل Hosts آماده پیدا کرد که در آن وبسایتهای مخرب یا وبسایتهای تبلیغاتی معروف با آدرس IP لوکال هاست (۱۲۷.۰.۰.۱) ثبت شدهاند. اما، اگر وبسایت مدنظر شما در آن فایلها نبود، برای افزودن آدرس جدید باید در خط انتهایی کلید اینتر را فشار دهید و به ابتدای خط بعد بروید، سپس آدرس لوکال هاست، ۱۲۷.۰.۰.۱ را وارد کنید و با زدن یک فاصله در مقابل آن، نام دامنه یا نام هاست موردنظر خود را وارد کنید تا دسترسی به آن محدود شود.
تست سرعت با لوکال هاست
بهعنوان مدیر شبکه، اگر بخواهید تجهیزات نصبشده و بهطور کلی شرایط TCP/IP شبکه را مورد ارزیابی قرار دهید، میتوانید با آزمایش اتصال ازطریق ارسال درخواست پینگ به لوکال هاست بهراحتی آن را اریابی کنید.
برای مثال، میتوانید به راحتی با فشردن کلیدهای win + R برنامهی Run را اجرا کنید و در کادر آن cmd را تایپ و اینتر کنید. در برنامهی اجراشده Command Prompt میتوان با وارد کردن ping localhost یا ping 127.0.0.1 عملکرد شبکه را ارزیابی کرد. البته، تفسیر آن نیازمند مقالهای جداگانه است و در این مقاله نمیگنجد.
مزایا و معایب استفاده از لوکال هاست
مهمترین استفاده از لوکال هاست اغلب برای توسعهدهندگان است که امکان راهاندازی و کارآزمایی اپلیکیشن وبسایت را برای آنها فراهم میکند. استفاده از این امکان مزیتهای زیادی دارد که شامل امکان تست بدون اینترنت، بدون هزینه خرید هاست، با سرعت بالا، صرفهجویی در زمان، ویرایش آسان فایلها و امنیت بسیار بالا میشود.
اما با این همه، لوکال هاست معایبی نیز دارد که محدودیتهایی برای کاربر ایجاد میکنند. برای مثال، نمیتوان وبسایت روی آن را ازطریق اینترنت دردسترس قرار داد و دسترسی به آن فقط ازطریق کامپیوتر ممکن است. علاوهبراین، امکان تست درگاههای پرداخت بانک وجود ندارد و درصورت تعبیه سرویس ایمیل، آن را نیز نمیتوان آزمایش کرد.
روشهای نصب و ایجاد لوکال هاست
اولین قدم برای راهاندازی لوکال هاست، فعالسازی سرویسهای مربوط به آن در ویندوز است. بدین منظور وارد Control Panel شوید و از در قسمت Programs and Features از منوی سمت چپ روی Turn Windows Features on or off بزنید و در پنجره بازشده، روی Internet Information Service کلیک کنید تا انتخاب شود.
سپس، روی دکمه OK بزنید تا فرایند نصب آغاز شود و در پایان ویندوز با پیامی درخواست کند برای تکمیل فرایند نصب و اجرای سرویس موردنظر برای راهاندازی لوکال هاست، سیستم را ریاستارت کنید. درنهایت، میتوان با وارد کردن آدرس http://localhost/ در مرورگر به لوکال هاست دسترسی پیدا کرد.
در ادامه، برای اجرای کامل اپلیکیشن وبسایت در لوکال هاست نیاز به ابزارهایی خواهید داشت تا بتواند شرایط یک هاست واقعی را شبیهسازی کند. برای مثال، اگر فرض کنیم که در ساختار وبسایت، فایل PHP وجود داشته باشد؛ بنابراین، برای اجرا شدن آن و نمایش خروجی دستورات درون فایل، به پیشزمینههایی نظیر Mysql، آپاچی، iis و... روی سیستم نیاز دارید.
تمام این ابزار و سرویسها در هاستها ارائه میشوند و ضرورتی ندارد تا توسعهدهنده کاری انجام دهد و فقط باید فایلهای وبسایت را بارگذاری کند. اما، اگر توسعهدهنده بخواهد با استفاده از لوکال هاست وبسایت را راهاندازی و تست کند میتواند از برنامههایی مانند XAMPP، WAMP LAMP یا MAMP کمک بگیرد تا هاست واقعی را شبیهسازی کند.
این قبیل برنامهها، پیشنیازهای لازم برای راهاندازی و تفسیر کدها به زبانهای مختلف برنامهنویسی را فراهم میکنند و میتوان به راحتی بهواسطهی آنها هر وبسایتی را روی لوکال هاست اجرا کرد. البته، همهی این برنامهها از تمام زبانهای برنامه نویسی پشتیبانی نمیکنند و در پلتفرمهای مختلف نیز ممکن است نسخههای آن ارائه نشده باشد.
برای مثال، برنامه XAMPP روی سیستمعاملهای ویندوز، لینوکس و مک دردسترس است و از زبانهای برنامهنویسی Perl و PHP پشتیبانی میکند. درحالی که، WAMP فقط برای ویندوز دردسترس خواهد بود. از سویی دیگر، نرمافزار MAMP برای ویندوز و مک عرضه شده است و فقط از زبان برنامهنویسی PHP پشتیبانی میکند. در مثالهای گفتهشده برنامهی LAMP نیز فقط برای لینوکس دردسترس قرار دارد و زبانهای برنامه نویسی Python، Perl و PHP را پشتیبانی میکند.
جمعبندی
لوکال هاست بهطور خلاصه یک لوپبک برای ایجاد شبکه داخل کامپیوتر بهصورت محلی است که امکان عیبیابی، مسدودسازی وبسایتها و از همه مهمتر امکان تست و راهاندازی آزمایشی برنامههای تحت وب را فراهم میکند. راهاندازی لوکال هاست علاوهبر نصب و اجرای برخی سرویسها در ویندوز، نیازمند نصب برنامههای ثالث دیگر است تا فرایند پردازش کدها و دستورهای سایر زبانهای برنامه نویسی امکانپذیر شود.