Причина 1 :
Начиная с HTTP/1.1 (лет 15 назад) появилась поддержка мультихост серверов. На одном IP могут располагаться сотни сайтов — браузер, обращаясь к серверу по IP, обязан добавить в заголовки HTTP-запроса строку "Host:", которая позволит понять, к какому конкретно сайту Вы идете.
В настоящее время мультихост является стандартом и нормой и подключение по IP является скорее исключением, вернее доброй волей хостера, который в отсутствие поля "Host:" выбирает за Вас какое из доменных имен предоставлять по умолчанию на данном IP.
Причина 2:
Все больше сайтов переходят на HTTPS. Для таких серверов соответствие доменного имени, вписанного в сертификат, уже критично заголовку "Host:", т.к. мало кто запрашивает кроме сертификата на свое доменное имя еще и сертификат на IP-адрес, который к тому же может изменяться. А современные браузеры при несоответствии полей сертификата реальному URL все чаще выдают ошибку, ограждая пользователя от подозрительного сайта.
В левой части указан IP-адрес, а в правой — маска подсети. Загрузка сайта по IP-адресу точно такая же, как и по обычному — через набор в адресной строке браузера. Все сайты можно грузить по IP-адресу, но только такие адреса трудно запоминать, поэтому и придумали вэб-адреса, для удобства.
Почему, если вбить в поисковую строку браузера ip-адрес сайта вместо url он будет не доступен? Если я не ошибаюсь, браузер не откроет сайт по ip-адресу, даже если у сайта ip выделенный.
1 ответ 1
Это зависит от настроек сервера и вида веб-сервера. Обычно, если специально ничего не делать, и сайт только один на сервере, то он будет открываться и по IP адресу. Несложно сделать так, чтобы для неизвестных доменов, и для запросов без заголовка Host , открывался какой-то специально предназначенный сайт с одной страницей с объяснениями.
Например, в случае nginx такой специальный сайт должен быть помечен параметром default_server .
Если мы говорим о каком-то массовом виртуальном хостинге, то обычная практика делать именно так, то есть ограничивая доступ к серверу по IP. Никто не хочет выслушивать жалобы от недовольного клиента, сайт которого, по случаю оказавшийся первым в списке, открывается при вводе в адресную строку какого-то другого домена, который по любой причине указывает на IP сервера. Владелец того другого домена тоже не будет рад такому развитию событий.
Если ваш сайт работает по HTTPS, то одной настройки сервера будет недостаточно. Нужно будет получить SSL сертификат и для домена, и для IP адреса. Последнее не всегда возможно.