6

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

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

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

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

  1. HTTP:// локальный:8161/
  2. http://127.0.0.1:8161/
  3. Http:// MJM:8161/
  4. http://192.168.20.92:8161/

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

2 ответа2

4

Не совсем уверен, если я получу вопрос, но вам интересно, какова разница между 4 URL?

Если это так:

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

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

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

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

4

Это все о разрешении адресов.

Обычно 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-адрес.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .