Коли ви телефонуєте за IP-адресою на своєму комп’ютері, ви намагаєтесь зв’язатися з іншим комп’ютером в Інтернеті, але коли ви телефонуєте за IP-адресою 127.0.0.1, ви спілкуєтеся з локальним хостом. Локальний хост це завжди ваш комп'ютер. Ваш комп’ютер розмовляє сам із собою, коли ви телефонуєте локальному хосту. Ваш комп’ютер не завжди безпосередньо визначає локальний хост. У вашій мережі localhost має окрему IP-адресу, наприклад 192.168.0.1. (у більшості випадків), який відрізняється від того, який ви використовуєте в Інтернеті. Зазвичай це динамічно призначається постачальником послуг Інтернету (ISP). Localhost можна розглядати як сервер, який використовується на вашому комп’ютері.
Цей термін зазвичай використовується в контексті мереж. Localhost — це не лише назва віртуального сервера, але й його доменне ім’я. Так само, як .example, .test або .invalid, ., .localhost є доменом верхнього рівня, зарезервованим для документації та тестування. Під час доступу до домену запускається loopback. Якщо ви отримуєте доступ до http://localhost у браузері, запит не буде перенаправлено в Інтернет через маршрутизатор. Натомість він залишиться у вашій системі. Localhost має IP-адресу 127.0.0.1. Це посилається на ваш сервер.
127.0.0.1 – як працює loopback?
Для зв’язку один з одним у межах мережі використовуються IP-адреси. Учасники мережі мають свої унікальні адреси. За допомогою пакетів даних TCP/IP можна досягти правильного пункту призначення. Пара протоколів Протокол керування передачею (TCP) і Інтернет-протокол (IP) є одними з основних функцій Інтернету. TCP/IP також використовується поза Інтернетом у локальних мережах. Інтернет-протокол відповідає за надання IP-адреси та маски підмережі доступу до абонентів у мережі під час передачі.
Розподіл публічних IP-адрес регулюється міжнародною організацією, яка є Інтернет-корпорацією з присвоєння імен і номерів (ICANN). ICANN також відповідає за розподіл доменних імен під назвою Система доменних імен (DNS). Але певні діапазони адрес зарезервовані для спеціальних цілей, як-от діапазон від 127.0.0.0 до 127.255.255.255. Немає достовірної інформації про те, чому був обраний цей діапазон. IP-адреси в Інтернеті поділяються на різні класи. Перший клас класу A починався з 0.0.0.0 (зарезервована адреса) і закінчувався 127.255.255.255. 127 — останній блок мережі класу А. Його важлива позиція могла бути причиною його вибору.
У цьому діапазоні адрес можна налаштувати локальну мережу. Унікальність цього діапазону полягає в тому, що в ньому IP-адреси не призначаються однозначно, як це зазвичай буває. Крім того, він був зарезервований ICANN.
Якщо ви введете IP-адресу або відповідне доменне ім’я у своєму браузері, маршрутизатор перенаправить ваш запит до Інтернету, який з’єднає вас із сервером. Це означає, що якщо ви введете 172.217.21.164, ви перейдете на домашню сторінку Google, але ситуація інша з 127.0.0.1. Запити на цю адресу не будуть перенаправлені в Інтернет. TCP/IP розпізнає з першого блоку (127), що ви не хочете отримати доступ до Інтернету, натомість ви телефонуєте собі. Потім це запускає loopback.
Причина створення петлевого пристрою полягає в тому, щоб зворотне посилання на ваш комп’ютер працювало. Через операційну систему створюється цей віртуальний інтерфейс. Інтерфейс називається loopback інтерфейсом (lo/lo0), і його також можна відобразити за допомогою команди ifconfig в системах Unix. Подібною командою для Windows є ipconfig.
Для чого використовується localhost?
Розробники використовують локальний хост для тестування веб-додатків і програм. Адміністратори мережі використовують петлю для перевірки мережевих з’єднань. Ще одне використання локального хосту — це файл хоста, де ви можете використовувати петлю для блокування шкідливих веб-сайтів.
Для цілей тестування –
Веб-сервери в основному використовують локальний хост для додатків програмування, яким потрібно спілкуватися через Інтернет. Під час розробки важливо з’ясувати, чи працює програма, як розроблено, коли вона має доступ до Інтернету. Інші функції Localhosts можливі, лише якщо потрібні файли можна знайти в Інтернеті. Як ми бачимо, існує різниця між відкриттям HTML-документа на вашому ПК або завантаженням його на сервер і доступом до нього. Випускати продукт без тестування не має сенсу. Тому розробники використовують loopback для їх тестування. Вони можуть стимулювати з’єднання, а також уникати помилок мережі. З’єднання просто повністю залишається в їхній системі.
Ще однією перевагою використання localhost для цілей тестування є швидкість. Зазвичай надсилання запиту через Інтернет займає більше 100 мілісекунд. Максимальний час передачі – лише одна мілісекунда для надсилання ping до localhost. Коректність інтернет-протоколу також можна реалізувати за допомогою цієї технології.
Якщо ви хочете налаштувати свій тестовий сервер на своєму комп’ютері, щоб звертатися до нього через локальний хост, потрібне відповідне програмне забезпечення. Можна використовувати таке програмне забезпечення, як XAMPP, спеціально розроблене для використання як локальний хост.
Щоб заблокувати веб-сайти –
Localhost також може блокувати файли хоста. Цей файл є попередником системи доменних імен (DNS). У цьому IP-адреси можуть бути призначені для відповідних доменів. Доменне ім’я перетворюється на IP-адресу, коли ви вводите адресу веб-сайту в браузері. Раніше це був файл хоста, але сьогодні зазвичай використовується глобальний DNS, але файл хоста все ще присутній у більшості операційних систем. У Windows файл знаходиться в system32driversetchosts, тоді як у macOS та інших системах Unix він знаходиться в /etc/hosts.
Ймовірно, залишилися ці два записи, якщо не було зроблено жодних змін у файлі:
127.0.0.1 localhost ::1 localhost>
Розділення імен для локального хосту не обов’язково виконувати через Інтернет. Localhost також може використовувати файл host для блокування певних веб-сайтів. Для цього веб-сайт, який потрібно заблокувати, необхідно внести в список і призначити домену IP-адресу 127.0.0.1. Якщо ви або зловмисний скрипт спробуєте викликати заблокований домен, браузер спочатку перевірить файл хоста та знайде там ваш запис. Також можна використовувати доменне ім’я 0.0.0.0.
Потім браузер спробує отримати доступ до відповідного веб-сайту на сервері за допомогою 127.0.0.1. Однак навряд чи браузер зможе його знайти, оскільки запитуваного файлу там не буде. Однак, якщо ваш тестовий сервер налаштовано, браузер може знайти home.html, який є лише вашим файлом. Якщо ви не налаштували тестовий сервер, замість потрібного веб-сайту з’явиться повідомлення про помилку. За допомогою цієї технології можна вимкнути рекламні вставки по всій системі. Щоб уникнути кожного введення вручну, ви можете знайти готові та регулярно розширювані хост-файли в Інтернеті.