Когда в браузере вводите адрес, происходит примерно следующее:
- браузер переводит имя в ip адрес и подключается к нему.
Когда ввели вместо имени ip, сразу понятно, куда подключаться.
- там отвечает веб-сервер. После соединения браузер по протоколу HTTP «здоровается» с сервером и говорит, что ему надо. Это, в общем-то, похоже на обычный текстовый чат. Браузер пишет первым:
GET / HTTP/1.1
Host: web.site.com
Accept-Language: ru
Обратите внимание на заголовок
Host
— тут тот адрес (без дальнейшего пути
/a/b/c/index.php
), который ввели в браузере. Если ввели именно ip, он и будет там в заголовке
Host
.
Теперь дело за сервером, как он настроен. Часто на одном сервере, на одном ip, располагается несколько сайтов. И сервер понимает, какой сайт запросили, именно по заголовку
Host
.
Вполне можно настроить веб сервер, что ему делать, когда в поле
Host
находится ip-адрес: отдавать какую-нибудь заглушку, или основной, единственный сайт.