Что такое Localhost и чем он отличается от 127.0.0.1?

Даже когда все сетевые устройства отключены, ваш компьютер все равно может общаться по своего рода сети. Известная как «обратная связь», машина Unix может отправлять и получать сетевые сообщения от себя и к себе через виртуальное сетевое устройство. Ваш компьютер может отправлять сообщения от себя к себе, позволяя сетевым коммуникациям происходить без необходимости в функционирующей сети.
Что такое 127.0.0.1?
127.0.0.1 — это наиболее часто используемый IP-адрес обратной связи. Он является частью зарезервированного блока из более чем шестнадцати миллионов IP-адресов, которые используются специально для функциональности обратной связи. Обратная связь позволяет вашему компьютеру общаться с самим собой, используя протоколы сетевого соединения.
В широком смысле, обратная связь — это виртуальное сетевое устройство, которое создает сетевое соединение только с одной конечной точкой, что означает, что оно начинается и заканчивается на одном и том же устройстве: вашем компьютере. На самом деле, устройство обратной связи даже отображается в ipconfig под именем lo, как видно выше. Адреса обратной связи в основном используются для устранения неполадок (это похоже на то, как смотреть в зеркало) или для доступа к локальным ресурсам через сетевой интерфейс.
Также читайте: Как использовать Nginx в качестве обратного прокси
Что такое localhost?

«localhost» описывает коммуникационный порт, который подключается к исходному серверу. Он позволяет сетевому соединению «обратиться» к самому себе, позволяя вам эмулировать сетевые соединения, когда такая сеть отсутствует или недоступна. На практике localhost рассматривается как синоним 127.0.0.1 для использования и обсуждения. Однако важно помнить, что они не строго идентичны.
Перед тем как сделать DNS-запрос для преобразования текстовой строки, введенной пользователем, в навигируемый IP-адрес, операционная система проверяет файл HOSTS на наличие любых псевдонимов или правил перенаправления. На системе, настроенной на стандартные значения, «localhost» в URI будет разрешен в 127.0.0.1 под IPv4 или ::1 для IPv6. Однако существует гораздо больше адресов обратной связи, чем только эти два. Блок IP-адресов, зарезервированных для адресов обратной связи, простирается от 127.0.0.0 до 127.255.255.255.
В большинстве случаев localhost будет разрешен в 127.0.0.1, благодаря правилу перенаправления в файле HOSTS, как упоминалось выше. Но в некоторых случаях localhost может быть сопоставлен с другим IP-адресом. Таким образом, localhost может указывать на любой IP-адрес в этом блоке, и он будет функционировать идентично.
Заключение: В чем разница между localhost и 127.0.0.1?
На большинстве машин localhost и 127.0.0.1 функционально идентичны. Но localhost — это метка для IP-адреса, а не сам адрес. Localhost может указывать на разные IP-адреса. На самом деле, он может указывать на любой IP-адрес, даже на один вне зарезервированного блока адресов. Файл HOSTS не заботится об этом и не остановит вас. Однако это нарушит значительную функциональность вашей системы и приведет к сбою любого приложения, которое зависит от соединения с localhost.
Блок адресов 127 был выбран для блока адресов обратной связи, потому что это был последний блок адресов класса A, который простирается от двоичного значения адреса 00000001 до 01111111. В IPv6 адрес обратной связи — это первый адрес, 0:0:0:0:0:0:0:1, чаще всего выражаемый в своей укороченной форме как ::1.
Если вы переходите с Windows на систему Unix, вы могли заметить, что обратная связь практически синонимична localhost. Вы можете использовать свой файл HOSTS, чтобы сделать так, чтобы «обратная связь» перенаправлялась на 127.0.0.1, но это скорее замена текста, чем что-либо другое.