Как устроен интернет
На самом простейшем уровне веб-среда физически состоит из следующих структурных элементов
- Ваш персональный компьютер – компьютер, который вы используете для выхода в интернет (иногда можно также услышать название «рабочая станция»).
- Веб-браузер – программа, которая устанавливается на компьютер пользователя и используется им для просмотра интернет-сайтов.
- Интернет-провайдер – компания, через которую вы подключаетесь к интернету.
- Веб-сервер – компьютер, на котором «физически» находятся файлы того или иного сайта.
- Маршрутизаторы и коммутаторы – программные и аппаратные средства, которые обеспечивают передачу вашего запроса на соответствующий веб-сервер.
Интернет-среду по специфике можно отнести к так называемым «клиент-серверным» системам. Ваш компьютер является «клиентом», в то время как удаленные компьютеры с хранящимися на них файлами выполняют роль «сервера».
Как работает интернет
Когда вы вводите в строку браузера название какого-либо сайта (например, «kentana.ru»), браузер отправляет запросы на множество так называемых DNS-серверов (серверы доменных имен) для определения, существует ли такой сайт и если он существует, то на каком именно сервере он находится. Стоит отметить, что данные запросы идут через разные коммутаторы и маршрутизаторы. Серверы доменных имен (DNS-серверы) хранят у себя специальные таблицы соответствий наименований сайтов с их IP-адресами. По этим таблицам DNS-серверы определяют IP-адрес компьютера, на котором расположены файлы требуемого вам сайта. А уже по IP-адресу можно напрямую обращаться к данному компьютеру для получения тех или иных хранящихся на нем файлов.
Когда вы запрашиваете не сам сайт, а какую-либо конкретную страницу того или иного сайта, последовательность действий практически полностью аналогична приведенной ранее. Первым делом браузер должен определить и «найти» компьютер, на котором расположен сайт с требуемой вам страницей. Поэтому он (браузер) точно также запрашивает сервер доменных имен для определения IP-адреса сайта по его доменному имени. Затем браузер отправляет на данный IP-адрес запрос для получения содержимого веб-страницы. Если указанная страница найдена и доступ к ней разрешен, сервер вернет ее содержимое и браузер благополучно в своем окне его отобразит. Добавим также, что для получения содержимого веб-страниц используется так называемый «протокол передачи гипертекста» или, сокращенно, «HTTP-протокол».
Теперь посмотрим на взаимодействие со стороны сервера. Первое и самое очевидное: чтобы обслуживать запросы пользователей и выдавать содержимое страниц того или иного сайта, сервер как минимум должен быть подключен к сети интернет. Сам цикл обработки запроса также достаточно прост: сервер получает запрос от пользователя, ищет запрашиваемый документ, проверяет права доступа на него, и если все хорошо (т.е. документ найден и доступ к нему разрешен), возвращает содержимое данного документа посредством того или иного протокола. Стоит также отметить, что в большинстве случаев сервер ведет «логи» и регистрирует у себя информацию о пришедшем запросе. Содержание данной информации может варьироваться в зависимости от сервера, но в большинстве случаев оно включает как минимум следующие сведения: дата и время запроса, IP-адрес клиента, запрашиваемый документ.
Для отображения веб-страницы в большинстве случаев недостаточно получить лишь ее html-код. Требуется также загрузить изображения, таблицы стилей, видео-контент и другие веб-ресурсы, используемые на данной странице. Каждый из этих веб-ресурсов имеет свой собственный url-адрес, используя который и производится загрузка данного элемента. Этот процесс скрыт от глаз рядового пользователя и выполняется браузером в фоновом режиме, пользователь получает лишь отображение уже полностью загруженного и сформированного документа.
Последовательнось загрузки страниц
Мы рассмотрели как происходит взаимодейтсвие между браузером и сервером для загрузки той или иной страницы. Теперь давайте суммируем полученные нами сведения.
Итак, последовательность загрузки и отображения веб-страницы примерно следующая:
- Пользователь вводит URL страницы в адресную строку браузера (например, «kentana.ru»).
- Браузер отправляет запрос в службу доменных имен для определения IP-адреса сайта по его имени.
- По полученному IP-адресу браузер запрашивает уже сервер сайта для получения html-кода требуемой страницы.
- Большинство страниц содержат не только текст, но и ссылки на другие веб-ресурсы (например, изображения). Поэтому браузер, обнаруживая ссылки в загруженном html-коде страницы, отправляет запросы на получение также и их содержимого.
- Заключительным этапом работы является «сборка» всей полученной информации в единый документ и отображение его пользователю.