Сбережение Internet-адрссов

В Internet используется четвертая версия протокола IP, который предоставляет максимум 232 адресов хостов. В течение нескольких лет количество адресов, предоставляемых IPv4, рассматривалось как более чем достаточное. Однако популярность Web и быстрое осознание частью бизнесменов, что короткие имеиа Web-сайтов являются запоминающимися, привело к буриому росту числа доменных имен Web-сайтов типа www.foo.com. Эти «чистые» URL хостов состоят только из име- пи хоста, их легко запомнить. Однако каждое доменное имя хоста требовало отдельного IP-адреса в реализациях НТТР/1.0.

Когда клиент соединяется с сервером, поддерживающим НТТР/1.0, по адресу www.foo.com для того, чтобы получить ресурс http://www.foo.com/bar.html, в первой строке запроса содержится только

GET /bar.hml НТТР/1.0

Агент пользователя удаляет имя сервера из URL в HTTP-запросе. Имя сервера было необходимо для установления соединения транспортного уровня, и к тому времени, когда HTTP-сервер получил сообщение, в нем больше не было надобности.

Популярность Web привела к появлению компаний, занимающихся Web-xoc- тингом. Любая компания, у которой не было желания заниматься сопровождением своего Web-сайта, поручала это другой компании. Такие компании, занимающиеся Web-хостингом, управляют Web-сайтами большого числа компаний. Тем не менее, каждая компания изъявляла желание иметь для сайта собственное домеипое имя (например, http://www.foo.com), а не домениое имя какой-то другой компании, занимающейся Web-хостипгом (например, www.hostmany.com/foo). Неспособность сервера извлечь имя сервера из URL означала, что все ресурсы должпы были размещаться либо иод одним доменным именем, либо пужпо было вводить новые доменные имена хостов. Рассмотрим, например, пользователя, запрашивающего ресурс http://www.serverA.com/bar.html. Web-cepвep с домепным именем www.serverA.com получит следующий запрос:

GET /bar.html НТТР/1.0

В этой ситуации другой Web-сервер не может работать на том же хосте под другим доменным именем www.serverB.com, поскольку при этом появляется неоднозначность в интерпретации запроса для /bar.html. Оба сервера в равной степени могут иметь право ответить на этот запрос, и не существует способа разрешить эту неоднозначность.

Желание иметь «престижные» URL привела к пазпачепию отдельных IР-адре- сов для каждого доменного имени. Быстрое увеличение числа Web-сайтов и рост популярности Internet привели к быстрому уменьшению числа свободных IP-адресов. Новая версия IPv6 [DH98] может помочь избежать недостатка IР-адресов. В IPv6 адреса являются 128-разрядиыми, что разителыю увеличивает число доступных адресов по сравнению с 32-разрядпым адресным пространством IPv4. На момент публикации данной книги большей части Internet еще только предстоит перейти на IPv6.

Чтобы избежать нехватки IP-адресов, исполнительный комитет IETF, ответственный за координацию процесса стандартизации, уполномочил HTTP Working Group принять меры по сбережению IP-адресов в процессе перехода на НТТР/1.1. У HTTP Working Group был вариант изменить строку запроса, чтобы включить имя хоста следующим образом:

GET www.foo.com/bar.hml НТТР/1.0

Однако существующие НТТР/1.0 сервера не смогут правильно обрабатывать такую строку запроса. Требование обратной совместимости не может быть парушепо в процессе эволюции протокола, поэтому был предложен компромисс. Сначала было предложено ввести заголовок Original-URI, который содержал бы полпый URI (включая имя сервера). В процессе дискуссий но развитию протокола, было решепо, что такой заголовок был бы длинным и содержал бы избыточную информацию. Так появилась строка заголовка Host. Приведенный выше запрос в НТТР/1.1 выглядит так

GET /bar.hml НТТР/1.1

Host: www.foo.com

Все запросы в НТТР/1.1 должны иметь поле заголовка Host. Можно также включать помер порта, по если он не указан, по умолчапию предполагается порт с номером 80. Серверы, поддерживающие НТТР/1.1, которые получают запрос от клиента, поддерживающего НТТР/1.1 без заголовка Host, обязапы отклонить такой запрос. Надежда здесь на то, что такое строгое требование поможет сберечь lP-адреса. Поскольку клиентам, поддерживающим НТТР/1.0, пичего неизвестно о заголовке Host, НТТР/1.1 серверы будут продолжать принимать запросы НТТР/1.0, у которых пет данного заголовка.

Web-сайтам больше не пужеп IP-адрес для того, чтобы иметь собственное домеп- пое имя, например, www.foo.com. Множество доменных имеп может отображаться на IP-адрес с помощью DNS. Такой метод виртуалыюго хостинга позволяет Web- серверу принимать запросы к нескольким разным Web-сайтам, которые установлены на нем, и перенаправлять запросы. Однако виртуальный хостинг, основанный на доменпых именах, не будет работать с SSL, так как при этом шифруется весь заголовок. Заметим, что клиенту для того, чтобы посылать заголовки Host, не требуется поддерживать НТТР/1.1. На самом деле, популярные браузеры, которые продолжают использовать НТТР/1.0, включают в сообщение заголовок Host.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100