Как работает интернет: от нажатия клавиши до загрузки страницы

Вы вводите адрес сайта и через секунду видите страницу. За этой секундой — сложная цепочка технологий, работающих слаженно. Понимание этого процесса помогает разбираться в проблемах с интернетом, понимать VPN, DNS и другие термины, которые встречаются в повседневной жизни.

IP-адрес: почтовый адрес в сети

Каждое устройство в интернете имеет IP-адрес — числовой идентификатор, аналог почтового адреса. IPv4 адрес выглядит как четыре числа от 0 до 255: 93.184.216.34. IPv6 — длиннее и охватывает несравнимо больше адресов: 2606:2800:220:1:248:1893:25c8:1946.

Когда вы подключаетесь к интернету через провайдера, вашему роутеру выдаётся публичный IP-адрес. Устройства внутри домашней сети имеют локальные адреса (192.168.x.x), которые роутер транслирует наружу через NAT.

DNS: телефонная книга интернета

Люди запоминают имена (google.com), компьютеры работают с числами (142.250.74.46). DNS (Domain Name System) — служба, переводящая доменные имена в IP-адреса.

Когда вы вводите example.com:

  1. Браузер проверяет локальный кэш DNS — может, этот адрес уже известен
  2. Если нет — запрос к DNS-серверу провайдера (или выбранному вами: 8.8.8.8 Google, 1.1.1.1 Cloudflare)
  3. DNS-сервер рекурсивно ищет ответ: корневой сервер → сервер зоны .com → авторитетный сервер домена
  4. Возвращает IP-адрес браузеру

Весь процесс занимает миллисекунды. DNS-кэш хранит результат на время TTL (time to live) — обычно несколько часов.

TCP/IP: как данные путешествуют по сети

Интернет построен на стеке протоколов TCP/IP.

IP (Internet Protocol) отвечает за адресацию и маршрутизацию. Данные разбиваются на пакеты, каждый помечается адресом отправителя и получателя. Пакеты могут идти разными маршрутами через разные узлы — интернет сам находит оптимальный путь.

TCP (Transmission Control Protocol) обеспечивает надёжную доставку: нумерует пакеты, запрашивает повторную отправку потерянных, собирает пакеты в правильном порядке на приёмной стороне. Если пакет потерян — TCP ждёт повторной отправки.

UDP — более быстрый альтернативный протокол без гарантий доставки. Используется в видеозвонках и играх, где лучше потерять пакет, чем ждать его повторной отправки.

HTTP и HTTPS: язык браузера и сервера

После установки соединения браузер общается с сервером по протоколу HTTP (или HTTPS).

HTTP-запрос — сообщение браузера серверу: «дай мне страницу /index.html». Сервер отвечает: статус (200 OK, 404 Not Found, 503 Service Unavailable) и содержимое.

HTTPS — HTTP поверх шифрования TLS. Перед передачей данных браузер и сервер выполняют TLS-рукопожатие: сервер предъявляет SSL-сертификат, браузер проверяет его подлинность, стороны согласуют ключи шифрования. Всё последующее общение зашифровано — перехватить данные «по дороге» невозможно.

Значок замка в адресной строке означает активное HTTPS-соединение.

Что происходит на сервере

Сервер — это тоже компьютер, просто работающий круглосуточно в датацентре. Получив запрос, он:

  • находит нужный файл или генерирует страницу динамически (PHP, Python, Node.js)
  • обращается к базе данных при необходимости
  • формирует HTTP-ответ с HTML, CSS, JavaScript
  • отправляет обратно браузеру

Браузер получает HTML, парсит его, загружает CSS и JavaScript, отрисовывает страницу.

CDN: контент рядом с пользователем

CDN (Content Delivery Network) — сеть серверов по всему миру, хранящих копии статического контента (изображения, видео, CSS, JS). Когда вы открываете крупный сайт — картинки приходят не из единого сервера в США, а с ближайшего CDN-узла. Это ускоряет загрузку и снижает нагрузку на основной сервер.

Cloudflare, Akamai, Amazon CloudFront — крупнейшие CDN-провайдеры.

Итог

Загрузка страницы — это DNS-запрос для перевода домена в IP, TCP-соединение с сервером, TLS-рукопожатие для HTTPS, HTTP-запрос и ответ с HTML, загрузка ресурсов через CDN, отрисовка в браузере. Всё это — за 200–500 миллисекунд.