Номер телефона

Последнее обновление:

Как отправить НТТР-запрос?

Вроде бы, ничего сложного. Надо лишь ввести в адресную строку браузера необходимы URL, ну, и нажать "перейти" (или "открыть"). После чего через какое-то время откроется требуемая вебстраница. Но, поговорим о том, как может выглядеть сам URL. Скажем, взять поисковую систему Google. Всем известна примерно такая ссылка:

https://google.com

Однако, могут быть и другие виды этой же самой ссылки (URL). Например, вместо доменного имени (google.com) можно указать IP-адрес:

64.233.161.101

Ну, или так:

https://64.233.161.101

Вероятно, не все знают о такой возможности. А она вполне работает, так как каждому доменному имени (в том числе и google.com) соответствует тот или иной IP-адрес (один или несколько). Фактически, браузер, пытаясь открыть страницу с URL https://google.com, посылает в сеть запрос именно по соответстующему IP-адресу. Доменное имя нужно лишь для того, чтобы:

  1. По нему определить IP-адрес сайта,
  2. По нему определить хост (host) сайта.

Однако, здесь есть один нюанс. Дело в том, что одному IP-адресу может соответствовать не один, а несколько (даже много) сайтов. Именно так обстоит дело, в частности, на виртуальных хостингах (shared hosting). В подобных случаях файлы таких сайтов находятся физически на одном и том же компьютере - сервере. Который именно соответствующий IP-адрес. Который, конечно, будет одинаковым для всех этих сайтов.

А как собственно узнать ip? Например, того же Гугла? Для этого можно использовать специальные протоколы DNS (например, протокол ARP). Равно как и И утилиты, работающие с этими протоколами(nslookup, drill и т.п.). Можно использовать даже утилиту ping. Скажем, введем в консоли (или командной строке - синонимы) такую команду:

ping google.com

Нажав Enter, получим в результате:

    Обмен пакетами с google.com [64.233.161.101] с 32 байтами данных:
Ответ от 64.233.161.101: число байт=32 время=74мс TTL=103
Ответ от 64.233.161.101: число байт=32 время=92мс TTL=103
Ответ от 64.233.161.101: число байт=32 время=82мс TTL=103
Ответ от 64.233.161.101: число байт=32 время=80мс TTL=103

Статистика Ping для 64.233.161.101:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 74мсек, Максимальное = 92 мсек, Среднее = 82 мсек

Как видим, указан IP-адрес Гугла, равный 64.233.161.101. Так как этому адресу более НЕ соответствует ни одного сайта, то совершенно равносильно, что использовать в адресной строке браузера в качестве URL: то ли доменное имя (google.com), то ли IP-адрес.

Однако, есть ряд нюансов, почему подобное может не работать:

  1. Сайт может сам проверять host и не реагировать на ip-адрес вместо имени.
  2. На одном ip может существовать несколько сайтов, выбор между которыми происходит на основе host'а. В таком случае сервер либо выдаст ошибку, либо покажет страницу хостинга-владельца.
  3. При использовании защищённых протоколов (https) сертификат выдан на доменное имя, а не на ip-адрес, а значит браузер признает сертификат невалидным.

Но, есть еще "третий" способ

Например, можно сложить поразрядно байты IP-адреса и полученное большое целое число использовать в качестве URL. Это кажется "хаком", но это вполне работает. Сложим побитово разряды указанного выше IP-адреса:

(((((64 << 8) + 233) << 8) + 161) << 8) + 101

Получим число 1089053029

Так вот, это число - и есть не что иное, как URL поисковой системы Google (т.е. аналог ссылки google.com). Предлагаем читателю скопировать это число, вставить в адресную строку браузера и нажать "перейти". Откроется начальная страница поиска Гугла. Несколько необычный вид ссылки, не так ли?...


Комментарии:
Всего комментариев:0
Пожалуйста, не забудьте ознакомиться с правилами оставления комментариев.



Подписаться на комментарии на этой странице

Мы можем выполнить

Другие услуги
Интересная и полезная
информация
НАПИШИТЕ НАМ
Яндекс.Метрика
Номер телефона
© Copyright Все права защищены 2013-2024 Научный консалтинг