Localhost (127.0.0.1)

Когда вы (или ваш компьютер) обращаетесь к IP-адресу, вы обычно пытаетесь связаться с другим компьютером в Интернете. Однако если вы обращаетесь к IP-адресу 127.0.0.1, то вы общаетесь с localhost — в принципе, со своим собственным компьютером. Но какой смысл начинать виртуальный разговор с самим собой? Для чего нужен localhost и как он работает?

Что такое localhost?

Первое, что следует сделать, объясняя, что такое localhost, это то, что это всегда ваш собственный компьютер: когда вы обращаетесь к localhost, ваш компьютер разговаривает сам с собой. Однако это поверхностный подход. Локальный хост не всегда напрямую связан с вашим компьютером. В большинстве случаев он имеет отдельный IP-адрес, например 192.168.0.1. в вашей личной сети, который отличается от того, который вы используете в интернете, и обычно динамически назначается интернет-провайдером. Когда вы говорите о localhost, вы имеете в виду, когда сервер используется на вашем собственном компьютере.

И наоборот, этот термин используется только в контексте сетей. «Localhost» — это не просто название виртуального сервера, но и его доменное имя. Подобно .test, .example или .invalid, .localhost — это домен верхнего уровня, зарезервированный для целей документации и тестирования. Когда вы пытаетесь получить доступ к домену, срабатывает обратная петля. Если в браузере набрать «http://localhost», запрос не будет перенаправлен в интернет через маршрутизатор, а останется в вашей собственной системе. Localhost имеет IP-адрес 127.0.0.1, который ссылается на ваш собственный сервер.

127.0.0.1 — как работает loopback?

IP-адреса используются в сети для связи друг с другом. Каждый участник сети имеет свой собственный адрес. Пакеты данных, отправленные по протоколу TCP/IP, достигают нужного адресата при использовании этой системы. Протокольная пара Transmission Control Protocol (TCP) и Internet Protocol (IP) являются одними из краеугольных камней Интернета. Однако TCP/IP используется и за пределами интернета, в локальных сетях. Во время передачи данных интернет-протокол отвечает за присвоение IP-адреса и маски подсети абонентам в сети.

Распределение публичных IP-адресов (тех, которые можно получить через Интернет) регулируется международной организацией — Корпорацией по присвоению имен и номеров в Интернете (ICANN). ICANN также отвечает за распределение доменных имен, или системы доменных имен (DNS). Однако некоторые диапазоны адресов зарезервированы для специальных целей, например, диапазон от 127.0.0.0 до 127.255.255.255. Достоверной информации о том, почему был выбран именно этот диапазон, нет, но вы можете строить догадки.

До 1990-х годов IP-адреса в Интернете делились на различные классы. Первый класс (класс A) начинался с 0.0.0.0 (этот адрес также зарезервирован) и заканчивался 127.255.255.255. 127 — это последний блок в сети класса А. Это важное положение могло стать причиной его выбора.

В этом диапазоне адресов может быть создана локальная сеть. Особенность этого диапазона не только в том, что он был зарезервирован ICANN, но и в том, что IP-адреса в нем не имеют уникального назначения, как это обычно бывает. Но как это работает?

Факт

В IPv6 адрес ::1 зарезервирован для loopbacks.

Например, если вы вводите IP-адрес (или соответствующее доменное имя) в браузере, маршрутизатор направит ваш запрос в Интернет и на нужный сервер. Это означает, что если вы введете 172.217.0.0, вы попадете на домашнюю страницу Google. Однако с адресом 127.0.0.1 дело обстоит иначе, поскольку запросы на этот адрес не будут перенаправлены в Интернет. TCP/IP распознает по первому блоку (127), что вы не хотите получить доступ к Интернету, а обращаетесь к себе. Это приводит к срабатыванию обратной петли.

Факт

И наоборот, протокол не принимает внешние запросы, адресованные на 127.0.0.1, поскольку это означало бы, что злоумышленники могут попытаться пробраться в их систему. Пакеты, появляющиеся в Интернете с зарезервированных IP-адресов, таких как 127.0.0.1, известны как марсианские пакеты.

Устройство loopback создается для того, чтобы обратная связь с вашим собственным компьютером работала. Это виртуальный интерфейс, который создается с помощью операционной системы. В системах Unix интерфейс называется lo или lo0 и может быть отображен с помощью команды ifconfig. Аналогичная команда для Windows — ipconfig.

Факт

Если рассматривать технологию независимо от локального хоста, то loopback можно создать аналоговым способом: схемы в коммуникационной технологии могут быть использованы для определения правильности путей, пройденных сигналом и приемом.

Для чего используется localhost?

Разработчики используют локальный хост для тестирования программ и веб-приложений. Сетевые администраторы также могут использовать loopback для тестирования сетевых соединений. Еще одно практическое применение localhost — файл hosts, где с помощью loopback можно блокировать вредоносные веб-сайты.

Для целей тестирования

Основное применение Localhost в веб-серверах — это программирование приложений, которым необходимо взаимодействовать через Интернет. Во время разработки важно выяснить, действительно ли приложение работает так, как предполагалось, как только оно получает доступ в Интернет. Другие функции Localhosts возможны только в том случае, если необходимые файлы можно найти в Интернете — например, есть разница между открытием HTML-документа на вашем компьютере или загрузкой его на сервер и доступом к нему. Выпускать незавершенный продукт без его тестирования не имеет смысла, поэтому разработчики используют для тестирования loopback. Они могут стимулировать соединение, избегая при этом сетевого обхода: соединение вместо этого просто остается полностью внутри их собственной системы.

Еще одним преимуществом использования localhost для тестирования является его скорость. Когда вы посылаете запрос через Интернет, это занимает более 100 миллисекунд. Если вы посылаете ping на localhost, максимальное время передачи составляет всего одну миллисекунду. С помощью этой технологии вы также можете узнать, правильно ли реализован интернет-протокол. Чтобы проверить это самостоятельно, просто откройте командную строку (Windows) или терминал (Unix/Mac) и используйте команду ping. Вы можете отправить ее либо на домен localhost, либо непосредственно на IP-адрес.

                ping localhost

                ping 127.0.0.1

 

Если вы хотите настроить собственный тестовый сервер на своем ПК, чтобы обращаться к нему через localhost, сначала нужно установить соответствующее программное обеспечение. Обычно на вашем компьютере можно запустить любой стандартный веб-сервер, но есть и специальное программное обеспечение, специально разработанное для использования в качестве localhost — например, XAMPP. Мы предоставляем пошаговое руководство по установке и настройке тестовой системы в нашем цифровом руководстве.

Для блокировки веб-сайтов

Локалхост также играет роль файла hosts. В принципе, этот файл является предшественником системы доменных имен (DNS): в нем IP-адреса могут быть назначены соответствующим доменам. Если вы вводите адрес веб-сайта в браузере, доменное имя должно быть преобразовано в IP-адрес. Раньше для этого использовался файл host, но сегодня обычно используется глобальный DNS. Однако файл host по-прежнему присутствует в большинстве операционных систем. В Windows вы можете найти этот файл в каталоге system32driversetchosts; в macOS и других Unix-системах он находится в каталоге /etc/hosts.

Если вы сами не вносили никаких изменений в файл, то, скорее всего, там остались эти две записи:

                127.0.0.1 localhost

                ::1 localhost

Это гарантирует, что разрешение имен для localhost не будет осуществляться через интернет. Вы также можете использовать этот файл для блокирования определенных веб-сайтов. Для этого введите блокируемый сайт в список и присвойте домену IP-адрес 127.0.0.1. Если вы — или, возможно, вредоносный скрипт — попытаетесь вызвать заблокированный домен, браузер сначала проверит файл hosts и найдет там вашу запись. Другой вариант — использовать доменное имя 0.0.0.0.

 

Тогда браузер попытается обратиться к соответствующему сайту на сервере с адресом 127.0.0.1. Однако маловероятно, что браузер сможет найти его, поскольку запрашиваемого файла там не будет. Однако если вы создали свой собственный тестовый сервер, то браузер может найти home.html, но это всего лишь ваш собственный файл. Если вы не установили собственный тестовый сервер, вместо запрашиваемого сайта появится сообщение об ошибке. Эта технология также может быть использована для отключения рекламных вставок во всей системе. Чтобы не делать каждую запись вручную, вы можете найти в Интернете готовые и регулярно расширяемые файлы хостов.

Примечание

Файл hosts может существенно повлиять на вашу безопасность при работе в Интернете. Хотя этот файл подходит для блокировки вредоносных веб-сайтов, злоумышленники все же могут манипулировать им. Поэтому вам необходимо следить за тем, чтобы не копировать записи с других веб-сайтов без предварительной проверки, а также следить за тем, чтобы вредоносные программы не пытались внести записи без вашего ведома.

Оцените статью
cdelat.ru
Добавить комментарий