localhost против 127.0.0.1 против имени компьютера против ip в URL

localhost против 127.0.0.1 против имени компьютера против ip в URL

Я вижу один и тот же URL-адрес, localhostкогда удаленный сервер не работает, а когда 127.0.0.1работает, или наоборот.

Мне нужна разница между четырьмя формами индикатора сервера в URL-адресе:

  1. локальный хост
  2. 17.0.0.1
  3. Имя компьютера
  4. ip

для примера Apache ActiveMQURL-адрес веб-консоли может отображаться в моем компьютере в следующих формах:

  1. http://localhost:8161/
  2. http://127.0.0.1:8161/
  3. http://mjm:8161/
  4. http://192.168.20.92:8161/

(Извините, если я использую неправильную терминологию или грамматику, я изучаю английский язык.)

решение1

Все дело в разрешении адресов.

Обычно,http://localhost:8161будет иметь доступhttp://127.0.0.1:8161. Когда вы делаете запрос к localhost, перед выполнением запроса DNS ваша ОС просматривает файл HOSTS (/etc/hosts в Linux) и видит там правило, которое гласит, что localhost сопоставляется с 127.0.0.1.

Иногда localhost сопоставлен с другим IP, например 127.0.1.1. Это может привести к сбою между localhost и 127.0.0.1. (например, ваша служба настроена на прослушивание localhost, сопоставленного с 127.0.1.1, а вы пытаетесь получить доступ к 127.0.0.1).

Если вы используете имя хоста, ваша ОС может пойти дальше по сетевому стеку и даже сделать DNS-запрос, чтобы обнаружить IP-адрес хоста, а затем попытаться получить доступ к этому URL-адресу.

При использовании IP-адреса ваш SO попытается получить доступ к этому URL-адресу, используя указанный IP-адрес.

решение2

Не совсем уверен, что понял вопрос, но вам интересно, в чем разница между этими четырьмя URL-адресами?

Если это так:

127.0.0.1 (IP-адрес обратной связи для локальной машины) localhost (преобразуется в адрес 127.0.0.1)

^ два вышеперечисленных пункта недоступны с другого оборудования в вашей сети (другие рабочие станции++)

mjm и 192.168.20.92 — это в данном случае два способа подключения к одному и тому же компьютеру, доступные «извне».

Если вы хотите подключиться к Apache ActiveMQ с другой рабочей станции, то вам подойдет имя компьютера или IP-адрес 192.*.

Связанный контент