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

    Как веб-серверы узнают, используете ли вы прямой доступ по 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? Ознакомьтесь с полным обсуждением здесь.