Как веб-серверы узнают, используете ли вы прямой доступ по IP-адресу или нет?

Обычно мы просто вводим адрес веб-сайта, который хотим просмотреть, но будет ли веб-сервер «знать», если вместо этого мы будем использовать прямой IP-адрес? Сегодняшнее сообщение SuperUser Q & A содержит ответ на запутанный вопрос читателя.

Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser — подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.

Фото любезно предоставлено Кори М. Гренье (Flickr).

Вопрос

Читатель SuperUser Джозеф А. хочет знать, как веб-серверы могут определить, используете ли вы прямой доступ по IP-адресу или нет:

Некоторые веб-серверы при обращении с использованием своего IP-адреса выдают ошибку, что прямой доступ по IP-адресу не разрешен. Некоторое время я задавался вопросом, как это работает.

Всегда ли браузер разрешает IP-адрес и подключается к нему? Прямой IP-адрес просто пропускает DNS, верно? Как удаленный сервер узнает, что вы пропустили DNS?

Как веб-серверы узнают, используете ли вы прямой доступ по IP-адресу или нет?

Ответ

Участник SuperUser iAdjunct имеет ответ для нас:

Чтобы ответить на ваш вопрос о том, как он узнает, это связано с тем, что ваш браузер отправляет веб-сервер. Вы правы, что система всегда разрешает его в IP-адрес, но браузер отправляет URL-адрес, к которому вы пытались получить доступ, в заголовке HTTP.

Вот пример заголовка, который я нашел в сети, модифицированный так, чтобы вы выглядели так, как будто вы использовали Firefox в Windows и набрали apple.com в адресную строку:

Вот как будет выглядеть заголовок, если вы используете его IP-адрес:

Оба они будут отправлены на один и тот же IP-адрес через сокет, но браузер сообщает веб-серверу, к чему он обращался. Зачем? Потому что веб-серверы с одинаковым IP-адресом могут размещать несколько веб-сайтов и предоставлять разные страницы для каждого. Он не может различить, кому нужна какая страница по IP-адресу, потому что у них всех один и тот же, но он может различить их по заголовку HTTP.

Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.

Оцените статью
TutoryBird.Ru
Добавить комментарий