Автор работы: Пользователь скрыл имя, 27 Апреля 2012 в 21:05, реферат
Глобальная сеть все больше входит в нашу жизнь. Уже считается неприличным, если компьютер руководителя (например, директора овощной базы) не подключен к Интернету. Многие люди дома, на работе, в школе или в институте путешествуют по просторам WEB, пользуются электронной почтой, скачивают из-за океана программы и картинки.
Сам адрес не таков, каким мы его
привыкли видеть. Например, www.irk.ru выглядит
на самом деле как www.irk.ru. - с точкой в
конце. Точка и указывает на "корень",
т.е. у "главного" DNS спрашивают: - а
кто там у нас отвечает за зону "ru"?
Ему отвечают: такие-то и такие-то DNS, и
он уже теперь у этих DNS спрашивает: - а
кто отвечает за зону irk? - "такой то"...
и так далее, пока не получит нужный IP.
То есть, если где-либо не на сервере irk.ru
запрашивали первый раз название cooler.irk.ru
- то сервер того провайдера получил окончательную
расшифровку как раз от DNS-сервера с доменом
.irk.ru.
Теперь становится понятной надпись
во время работы браузера Looking up host... - это
он ждет, пока DNS отыщет нужный IP-адрес.
После этого браузер получает пакет с
настоящим (цифровым) IP-адресом, и теперь
он будет запрашивать ресурс по уже реальному
IP-адресу. И будет подставлять порт 80 к
своим запросам. Почему подставлять порт,
причем именно 80? Это делается для того,
чтобы разграничить типы ресурсов. Ведь
FTP-сервер может находиться на том же IP-адресе,
что и WWW. Протоколу http соответствует по
стандарту порт 80 и браузер по умолчанию
работает с www, т.е. с 80 портом, ведь написав,
например, www.microsoft.com, я попадаю на WWW, а
не на FTP. Кроме того, браузер пытается
определить порт по первому слову в URL.
Если пишется www.microsoft.com, значит нужно подставить
80 порт, а если ftp.microsoft.com, то 21 - порт для
работы с FTP. Сами вы этот порт не пишите,
он подставляется автоматом, как и многое
другое. Конечно, можно написать в строке
URL вместо www.microsoft.com - www.microsoft.com:80 - это будет
одно и то же.
Итак, ваш браузер получил IP-адрес того
ресурса, который вы хотите. Что должен
сделать браузер? Он должен что-либо запросить
у того сервера. Посылается пакет с запросом
ресурса на удаленный сервер (IP-адрес теперь
известен). Но вот интересный момент. Существует
такая вещь, как alias - виртуальный хост.
IP-адреса у разных хостов могут быть одинаковы.
Например, IP-адреса www.irk.ru и www.dsi.ru – это
одно и то же, и набирая в строке URL "чистый"
IP-адрес, попадать вы будете только на
какой-то один.
Виртуальный хост делается для того, чтобы
вам не пришлось запоминать длинное название
директории, где бы мог лежать нужный вам
файл, например - www.irk.ru/siberia/ и т.п. Просто
системный администратор так прописал
настройки, что директория на сервере,
где находится siberia, теперь вроде бы как
является отдельным сервером www.siberia.ru.
Но, все же, физически он находится на основном
- www.irk.ru. Хотя, конечно, в интернете все
очень виртуально, и сам сервер www.irk.ru может
находиться еще на каком-нибудь другом
сервере.
Теперь возникает вопрос: как сервер различает,
что именно вы хотите - www.irk.ru или www.dsi.ru,
когда вы честно пишете в строке URL нормальный
адрес? Ведь IP-адрес у них один и тот же
(когда DNS вернет его после сопоставления).
Так вот, после получения реального IP-адреса,
браузер посылает серверу пакет, содержащий
запрос на ресурс с адреса IP (который браузер
уже получил) и в нем же (в пакете) обязательно
будет присутствовать строка www.irk.ru, то
есть обычное имя. На самом деле, адрес
виртуального хоста содержится в запросе
GET по HTTP-протоколу, но я описываю общий
случай.
Наиболее популярной из программ www-серверов
является программа Apache, (есть и одноименный
проект для русской версии apache.lexa.ru),
которая работает под операционной
системой UNIX. Названа программа не по имени
индейского племени, а по аббревиатуре
"A PAtCHy sErver" т.е. "сервер, собираемый
из patch-файлов" (из модулей). Apache занимается
непосредственно тем, что отвечает на
ваши запросы и по требованию выполняет
скрипты (script) CGI, отдает файлики, картинки
и сам html-код документа. Apache - это HTTPd - hypertext
transfer protocol daemon, т.е. по русски – www-сервер.
Так вот, этот самый HTTP-демон, воспринимая
IP-адрес с нормальным именем ресурса,
смотрит у себя в конфигурационных
файлах (слэнговое "конфиги" - они
заранее были настроены сисадмином), какой
именно ресурс отдать пользователю - с
www.irk.ru или www.dsi.ru, ведь имя он получил вместе
с IP-адресом, предварительно углядев там
адрес своего сервера. А вот если сервер
будет не его, то он такой пакет и не получит
вовсе, так как маршрутизатор отправит
его дальше.
Итак, Apache начинает выдавать ресурс с директории,
содержащей файлы www.irk.ru по порту 80. Что
он должен выдать? Ведь вы явно не указывали,
что именно вы хотите, а просто написали
название сайта (правда, еще и явно или
неявно указали протокол верхнего уровня,
по которому будете общаться – HTTP). В Apache
прописано, что по умолчанию для 80 порта
с такой-то директории всегда выдается
файл index.html. Иногда это может быть default.html
или еще что-либо. Для каждого типа файлов
существует свой заголовок, который посылается
вашему браузеру перед посылкой самого
файла (используя протокол HTTP). Делается
это для того, чтобы браузер понимал, что
именно нужно делать с этим файлом - показать
его в окне или предложить запись на диск
(например, something.zip - не надо показывать
в окне, а надо сохранить - откуда браузер
должен это узнавать?).
Существуют и другие указания от
сервера браузеру, что ему делать
с файлами, находящимися на сервере.
Например, когда еще тип файлов .mp3 не был
достаточно известен, заголовка на него,
естественно, никто не прописывал (это
делается отдельно в конфигурациях сервера),
поэтому вы могли замечать, что тыкая на
ссылку, указывающую на файл с расширением
mp3, браузер его добросовестно грузил вам
в окно, как файл html. Приходилось обходить
это, зажимая Shift при щелчке мышкой. Это,
кстати, стандартный прием указания браузеру
записывать указанный ресурс на свой диск
независимо от заголовка.
В принципе, на описании работы интернета
со стороны пользователя можно приостановиться
и перейти к следующему пункту – работа
систем провайдера… Хотя, все настолько
увязано, что при описании одного всегда
придется затрагивать все части огромной
и сложной системы - интернета.