Насколько я понимаю, DNS используется для разрешения доменных имен в IP-адреса. Я использую Ubuntu. Я сделал следующее. nslookup facebook.com дал мне IP сайта. Я заблокировал DNS с помощью брандмауэра. Я набрал IP в браузере. Он должен был загрузить сайт Facebook, но это не так. Если я разблокирую DNS, то вышеупомянутый метод выбирает сайт. Почему это происходит - я имею в виду, почему DNS требуется, когда у меня есть IP-адрес веб-сайта?

1 ответ1

2

Когда вы получаете доступ к веб-сайту через HTTP, доменное имя используется не только для DNS; он также отправляется по самому HTTP (как заголовок Host: :). Таким образом, один и тот же сервер может размещать множество веб-сайтов (иногда один или два, иногда сотни одновременно) на одном и том же IP-адресе, называемом виртуальным хостингом.

При HTTPS-соединениях одно и то же имя отправляется также по TLS (как расширение индикации имени сервера), поэтому сервер может выбрать, какой сертификат использовать для какого сайта, опять же при размещении множества сайтов на одном IP-адресе.

Но если вы попытаетесь получить доступ к https://<ip-address>/ , браузер ничего не сможет отправить, поэтому сервер также не знает, какой сайт вам нужен.


(Я почти уверен, что на это уже много раз отвечали, но я не могу найти хороший пост на сайте)

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