Здесь вы получите простой обзор процесса, происходящего при открытии веб-страницы в вашем браузере, будь то на компьютере или телефоне.

На начальных этапах разработки веб-кода эти знания могут показаться несущественными. Однако в дальнейшем понимание того, что происходит в закулисье, окажется весьма полезным.


Клиенты и серверы


Компьютеры в сети делятся на клиентов и серверы. Их взаимодействие можно представить в виде простой схемы:

Клиент-сервер

  • Клиенты – это пользователи, подключенные к Интернету посредством устройств, таких как компьютер через Wi-Fi, или мобильный телефон. На устройствах установлено программное обеспечение, обычно браузеры, например, Firefox или Chrome.
  • Серверы – это компьютеры, где хранятся веб-страницы, сайты или приложения. Когда клиент пытается открыть веб-страницу, сервер отправляет ее копию клиентскому устройству для отображения в браузере.

Другие элементы веб-системы


Клиенты и серверы – это только часть общей системы. Существует множество других компонентов, которые мы охватим далее.

Представьте Веб как дорогу. С одной стороны располагается клиент – ваш дом, с другой стороны сервер – магазин, в который вы хотите прийти за покупками.

Кроме клиента и сервера учтите следующее:

  • Ваше Интернет-подключение: Предоставляет возможность обмениваться данными через сеть, выполняя роль дороги между домом и магазином.
  • TCP/IP: Протоколы передачи, которые определяют, как осуществляется доставка данных по сети. Они, как средства передвижения, помогают сделать заказ и добраться до магазина. Будь то автомобиль, велосипед или пеший ход.
  • DNS: Словно адресная книга для сайтов. При вводе веб-адреса в браузере, обращение происходит к DNS для нахождения реального адреса сайта. Это необходимо, чтобы понять, на каком сервере размещен сайт, и соответственно отправить HTTP-запрос по нужному маршруту. Процесс схож с поиском местоположения магазина.
  • HTTP: Протокол обмена, определяющий правила взаимодействия клиентов и серверов, напоминает о языке, на котором вы общаетесь в магазине.
  • Файлы компонентов: Состоит из разнообразных файлов, отражающих ассортимент товаров в магазине. Этот набор включает следующие типы:
    • Файлы кода: основной строительный материал сайтов, представленный HTML, CSS и JavaScript.
    • Материалы: это все остальные элементы сайта: изображения, аудиозаписи, видео, документы.

Как протекает процесс открытия страницы?


Когда вы вводите веб-адрес в браузере (или "заходите в магазин"):

  1. Браузер обращается к DNS, чтобы определить IP-адрес сервера, где "живет" сайт (аналогия с поиском адреса магазина).
  2. Браузер отправляет HTTP-запрос к серверу, запрашивая у него отправить клиенту копию сайта (вы оформляете заказ в магазине). Все взаимодействия между клиентом и сервером происходят через интернет с помощью протоколов TCP/IP.
  3. Если сервер одобряет запрос, он отправляет клиенту статус "200 ОК", что означает разрешение на доступ к сайту, и начинает передавать файлы частями в браузер (товар доставляется к вам домой).
  4. Браузер объединяет эти небольшие части в целостный сайт и отображает вам его (как доставленный товар).

Система доменных имен (DNS)


Веб-адреса могут быть сложными и труднозапоминаемыми комбинациями цифр, которые мы вводим в строку браузера, чтобы добраться до интернет-ресурсов. Такие последовательности представляют собой IP-адреса (например, 63.245.215.20).

Назначение IP-адресов уникально и указывает на местоположение в Интернете. Однако они не всегда легкодоступны для памяти. По этой причине и был внедрен DNS, который позволяет ассоциировать читаемый адрес (как "mozilla.org") с соответствующим IP. Таким образом, браузер может определить, на каком сервере расположен сайт.

Обратиться к сайтам можно напрямую по их IP-адресам. Для этого можно воспользоваться IP Checker, введя доменное имя сайта.


Передача данных в виде пакетов


Мы упоминали термин "пакеты" в контексте передачи данных между сервером и клиентом. Давайте уточним: информация через Интернет передается в виде множества маленьких частей, что позволяет множеству пользователей одновременно скачивать один и тот же ресурс. Если бы сайты передавались крупными фрагментами, доступ мог бы быть ограничен для последовательных пользователей, существенно снижая эффективность обмена данными через Интернет.

Вопросы для самопроверки:

  1. Как различаются клиенты и серверы в веб-системе?
  2. Какую роль играет Интернет-подключение в процессе работы Веба?
  3. Что такое DNS, и какова его функция в интернете?
  4. В чем преимущество передачи данных в виде пакетов по сравнению с крупными фрагментами?