Каноническое имя хоста - PullRequest
1 голос
/ 18 января 2011

Может ли кто-нибудь сказать мне правильную концепцию канонического имени хоста и как я могу проверить, что такое каноническое имя хоста в Windows?

На самом деле, я столкнулся с проблемой: у меня есть код Java, который преобразуетвведите «имя сервера» в его каноническое имя хоста:

try {
    InetAddress in = InetAddress.getByName(REQUESTSERVER);
    REQUESTSERVER = in.getCanonicalHostName();
    System.out.println("Canonical REQUESTSERVER "+ REQUESTSERVER );
} catch(Exception e) {
    System.out.println("lookup failed");
}

Может ли переменная REQUESTSERVER иметь разные значения в сети?

Ответы [ 2 ]

1 голос
/ 18 января 2011

Посмотрите на приведенный пример здесь для получения CanonicalHostName () для Google.Один из выходных данных для www.google.com:

Which Host:www.google.com
Canonical Host Name:po-in-f104.google.com
Host Name:www.google.com
Host Address:72.14.253.104

Когда я запустил ту же программу на своем локальном компьютере, я получил вывод как

Which Host:www.google.com
Canonical Host Name:74.125.227.49
Host Name:www.google.com
Host Address:74.125.227.49

Итак, в зависимости от того, каксоответствующий DNS настроен, переменная REQUESTSERVER будет иметь разные значения в сети

0 голосов
/ 18 января 2011

Да, конечно, в (общем) случае виртуального хостинга, когда один физический хост предоставляет разные виртуальные веб-сайты.В этом случае имя хоста, используемое клиентом для доступа к серверу, будет доступно из метода сервлета Java ServletRequest.getServerName().

См. Этот SO вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...