Домашня » як » Як веб-сервери знають, якщо ви використовуєте прямий доступ до IP-адрес або ні?

    Як веб-сервери знають, якщо ви використовуєте прямий доступ до IP-адрес або ні?

    Зазвичай, ми просто вводимо адресу веб-сайту, який ми хочемо переглянути, але чи буде веб-сервер насправді “знати”, якщо замість нього буде використано пряму IP-адресу? Сьогоднішня посада із запитами та відповідями SuperUser має відповідь на плутане запитання читача.

    Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно 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? Перегляньте повний потік обговорення тут.