در دنیای کامپیوتر حتی زمانی که سیستم به هیچ شبکه‌ای متصل نشده، نرم‌افزارها به نوعی از طریق شبکه‌ای داخلی یا شبکه‌ای مجازی با هم در ارتباط هستند. به این شبکه، Loopback گفته می‌شود. سیستم عامل‌های شبیه به Unix از طریق چنین شبکه‌ای برای خودشان داده ارسال می‌کنند یا داده‌ای را از خودشان دریافت می‌کنند و این ارسال و دریافت، کاربردهای زیادی دارد که شاید برای کاربران مبتدی ملموس نیست.

در این مقاله می‌خواهیم با آدرس آی‌پی 127.0.0.1 که گاهی به آن localhost گفته می‌شود، آشنا شویم و تفاوت این دو را بررسی کنیم.

آدرس 127.0.0.1 چیست و چه معنایی دارد؟

همان‌طور که اشاره کردیم حتی در حالتی که سیستم شما به شبکه‌ای متصل نشده هم نرم‌افزارها می‌توانند از طریق شبکه‌ای مجازی، داده ارسال یا دریافت کنند و با شبکه در ارتباط باشند. متداول‌ترین آدرس آی‌پی در شبکه‌ی مجازی یا به عبارت دیگر Loopback، آدرس آی‌پی 127.0.0.1 است. البته رنج کامل آدرس‌ها چیزی در حدود ۱۶ میلیون آدرس را شامل می‌شود اما این آدرس خاص، متداول‌ترین است.

معمولاً از آدرس‌های شبکه‌ی مجازی Loopback در امور عیب‌یابی استفاده می‌شود. به همین جهت کاربران عادی با آدرسی مثل 127.0.0.1 آشنایی ندارند.

localhost یا هاست محلی چیست؟

منظور از localhost پورت ارتباطی است که به سرور مبدأ متصل می‌شود. در واقع برای اتصال یک کامپیوتر به خودش یا همان شبکه Loopback، از localhost استفاده می‌شود. به کمک localhost انجام شبیه‌سازی‌های شبکه امکان‌پذیر می‌شود و از آن در اموری مثل طراحی وب یا شبیه‌سازی‌های سروری، به وفور استفاده می‌شود.

معمولاً در مباحثه‌ها، localhost به جای آدرس 127.0.0.1 به کار برده می‌شود و گاهی نیز حالت برعکس اتفاق می‌افتد اما این دو مفهوم دقیقاً یکسان نیستند. همان‌طور که اشاره کردیم localhost یک نام است که بیشتر اوقات به آدرس 127.0.0.1 مربوط می‌شود اما آدرس 127.0.0.1 یکی از آدرس‌هایی است که برای ارتباط یک کامپیوتر با خودش استفاده می‌شود. لذا این دو متفاوت هستند اما با توجه به کاربری، به نظر یکسان می‌رسند.

و اما توضیحات بیشتر در مورد تفاوت localhost و 127.0.0.1:

در شبکه‌های کامپیوتری همه‌ی سیستم‌ها با عددی که آدرس آی‌پی است، شناخته می‌شوند. اما برای شناخت ساده‌تر نودهای شبکه، می‌توان برای هر وسیله نامی در نظر گرفت. در مورد اینترنت که یک شبکه‌ی عظیم جهانی است هم به جای آدرس آی‌پی سرور سایت‌ها، از نام سایت استفاده می‌شود. تبدیل نام به آدرس آی‌پی، کاری است که DNS یا سرور نام دامین‌ها انجام می‌دهد.

قبل از اینکه یک درخواست DNS ثبت شود و در واقع نام به IP Address تبدیل شود، سیستم عامل به فایل HOSTS نگاهی می‌اندازد تا در صورت نیاز، کاربر را به یکی از آدرس‌ها هدایت یا Redirect کند. در سیستم‌های مختلف حالت پیش‌فرض این است که localhost به آدرس 127.0.0.1 هدایت می‌شود. البته اگر از IPv6 استفاده شود، آدرس معادل، ::1 خواهد بود.

اما 127.0.0.1 فقط یکی از آدرس‌هایی است که برای شبکه‌ی Loopback‌ کنار گذاشته شده است. در واقع تمام آدرس‌های بین 127.0.0.0 الی 127.255.255.255 که تعدادشان معادل ۲ به توان ۲۴ یا حدود ۱۶.۵ میلیون است، برای این شبکه در نظر گرفته شده است. لذا گاهی اوقات ممکن است در فایل HOSTS، آدرس مربوط به localhost، آدرس متفاوتی باشد. بنابراین عملاً localhost معادل 127.0.0.1‌ نیست.

جمع‌بندی: آیا localhost همان 127.0.0.1 است؟

در بیشتر سیستم‌ها منظور از localhost عملاً همان آدرس معروف 127.0.0.1 است. اما در تمام شرایط اینگونه نیست. ممکن است بسته به نیاز آدرس دیگری برای localhost در نظر گرفته شده باشد. حتی ممکن است به دلیلی از آدرسی خارج از رنج موردبحث استفاده شده باشد! البته تغییر آدرس IP مربوط به localhost چیزی نیست که هر کاربری انجام بدهد چرا که ممکن است مشکلات عدیده در نرم‌افزارهای مختلف به وجود بیاید و سیستم هنگ کند.

علت انتخاب عدد ۱۲۷ این است که این آدرس، آخرین بلوک کلاس A آدرس‌ها است، کلاسی که مقدار باینری آن از 00000001 الی 01111111 است.