3.6. DNS, HTTP, HTTPS

Опубликовано: 11.04.2026

 

← 3.5. TCP и UDP: надёжность против скорости 📋 Оглавление 3.7. Wi-Fi и домашняя сеть изнутри →
КАК УСТРОЕНО ВСЁ — статья 3.6

DNS, HTTP, HTTPS: что происходит при открытии сайта

Полный путь от нажатия Enter до появления страницы - как работает DNS, протоколы HTTP и HTTPS, что такое SSL-сертификат

Вы набираете any.by в адресной строке и нажимаете Enter. Примерно через полсекунды перед вами страница. Кажется, ничего не произошло. На самом деле за эти полсекунды ваш компьютер выполнил несколько десятков операций, прошёл через несколько серверов в разных точках мира, проверил подлинность сайта, установил зашифрованное соединение - и только потом получил текст и картинки.

Мы разобрали физический уровень (3.2), пакеты (3.3), IP-адреса (3.4) и протоколы TCP и UDP (3.5). Теперь - верхушка стека: то, что видит пользователь. DNS, HTTP, HTTPS. Один запрос к сайту - шаг за шагом.

🗺️ Проблема: компьютеры говорят числами, люди - словами

У каждого сервера в интернете есть IP-адрес - например, 104.21.48.175. Именно по этому адресу пакеты находят получателя. Но запоминать числа неудобно - тем более что адреса меняются: сайт переезжает на другой сервер, адрес становится другим, а название остаётся прежним.

Нужна система, которая переводит имена в адреса. Именно это и делает DNS - Domain Name System, система доменных имён. Когда вы пишете any.by, браузер первым делом спрашивает DNS-сервер: «Какой IP-адрес у этого имени?» - и получает ответ в виде числа, по которому уже строит соединение.

📱 Аналогия: Когда вы нажимаете «позвонить Максиму» в телефоне - вы не думаете о номере. Смартфон сам смотрит в список контактов и набирает цифры. DNS работает так же: браузер знает имя сайта, но соединяться умеет только с числами. DNS — это список контактов интернета. Вы пишете any.by - DNS тихо смотрит номер и передаёт его браузеру. Разница с телефоном: в этом «списке контактов» миллиарды записей, они обновляются в реальном времени, и ответ приходит за миллисекунды.

📂 Как устроена система DNS

DNS - не один сервер. Это иерархическая распределённая система, где каждый уровень знает о своём «кусочке» имён.

Возьмём адрес www.any.by и прочитаем его справа налево - именно так работает иерархия DNS:

  • . (точка в конце) - корневая зона. Невидима, но существует. Управляется организацией ICANN.
  • by - домен верхнего уровня (TLD, top-level domain). Национальный домен Беларуси. За него отвечает отдельный сервер.
  • any - домен второго уровня. Зарегистрирован конкретным владельцем.
  • www - поддомен. Настраивается владельцем домена.

Когда браузер хочет узнать IP-адрес www.any.by, разворачивается целая цепочка запросов.

Полный путь DNS-запроса

Шаг Что происходит Кто отвечает
1 Браузер проверяет собственный кэш: «Я уже спрашивал про any.by недавно?» Браузер
2 Если нет - проверяет кэш операционной системы и файл hosts ОС
3 Если нет - запрос идёт к рекурсивному DNS-резолверу (обычно от провайдера или Google 8.8.8.8) Провайдер / Google / Cloudflare
4 Резолвер спрашивает у корневого сервера: «Кто знает про зону .by?» 13 корневых серверов (точнее, сотни их копий)
5 Корневой сервер говорит: «Спроси у сервера зоны .by» Сервер TLD .by
6 Сервер .by говорит: «Вот авторитативный сервер для any.by» Авторитативный DNS any.by
7 Авторитативный сервер выдаёт IP-адрес: 104.21.48.175 Хостинг-провайдер
8 Резолвер кэширует ответ и возвращает его браузеру Рекурсивный резолвер

На практике шаги 4–7 выполняются только при первом обращении. Резолвер кэширует ответы на время, указанное в записи DNS (параметр TTL - Time To Live). Для большинства сайтов TTL составляет несколько часов или дней. Поэтому вся цепочка в реальности занимает несколько миллисекунд, а при повторном обращении - меньше миллисекунды.

💡 Зачем 13 корневых серверов? Технически это ограничение старого протокола DNS - в один UDP-пакет помещались адреса ровно 13 серверов. Сейчас за каждым из 13 адресов стоит не один сервер, а сотни машин по всему миру, объединённых технологией Anycast: ваш запрос автоматически идёт к ближайшей копии. В сумме корневая инфраструктура DNS насчитывает более 1 600 физических серверов на всех континентах.

Что ещё умеет DNS

DNS хранит не только IP-адреса. В нём есть разные типы записей:

Тип записи Что содержит Пример применения
A IPv4-адрес any.by → 104.21.48.175
AAAA IPv6-адрес То же, но для IPv6
MX Адрес почтового сервера Куда доставлять письма на @any.by
CNAME Псевдоним другого имени www.any.by → any.by
TXT Произвольный текст Подтверждение владения доменом, антиспам SPF
NS Адрес авторитативного DNS-сервера Кто «главный» для этого домена
🔒 DNS и приватность: DoH и DoT. Хотя HTTPS шифрует содержимое сайта, классический DNS-запрос идёт открытым текстом. Это значит, что ваш провайдер или администратор сети Wi-Fi видит, на какие домены вы заходите - даже если сами данные зашифрованы. Для решения этой проблемы созданы протоколы DoH (DNS over HTTPS) и DoT (DNS over TLS): они упаковывают DNS-запрос в зашифрованный туннель. Современные браузеры (Chrome, Firefox) и операционные системы всё чаще включают DoH по умолчанию.

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

Итак, DNS дал нам IP-адрес. Браузер знает, к кому обращаться. Теперь нужно поговорить с сервером - и для этого есть протокол HTTP (HyperText Transfer Protocol, протокол передачи гипертекста).

HTTP работает по простой схеме: запрос - ответ. Браузер посылает запрос, сервер возвращает ответ. Это как разговор в магазине: «Дайте мне вот эту страницу» - «Пожалуйста, вот она».

Как выглядит HTTP-запрос изнутри

HTTP - текстовый протокол. Запрос — это буквально текст, который браузер отправляет серверу:

GET /poleznye-statji-po-remontu-pk/ HTTP/1.1
Host: any.by
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml
Accept-Language: ru-RU,ru;q=0.9
Connection: keep-alive

Разберём по строкам. Первая строка - самая важная: GET - метод запроса («я хочу получить»), /poleznye-statji-po-remontu-pk/ - путь к ресурсу, HTTP/1.1 - версия протокола. Дальше - заголовки: кто спрашивает, что принимает, на каком языке.

Сервер отвечает похожим образом:

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 24832
Cache-Control: max-age=3600

<!DOCTYPE html>
<html>...вся страница...</html>

Первая строка - статус ответа. 200 OK означает «всё в порядке, вот ваша страница». Если страница не найдена - будет 404. Если сервер перегружен - 503. Если нужно перейти по другому адресу - 301 или 302.

Код Значение Типичная причина
200 OK Всё хорошо, страница отдана
301 Moved Permanently Страница переехала навсегда, обновите закладку
302 Found (временный редирект) Страница временно по другому адресу
304 Not Modified Страница не изменилась, используйте кэш
403 Forbidden Нет прав для просмотра
404 Not Found Страница не существует
500 Internal Server Error Ошибка на сервере
503 Service Unavailable Сервер перегружен или на обслуживании

Методы HTTP: не только GET

GET - самый распространённый метод, но не единственный. Когда вы заполняете форму входа на сайте и нажимаете «Войти», браузер отправляет POST-запрос с вашими данными в теле. Когда вы обновляете профиль - может быть PUT или PATCH. Когда удаляете запись - DELETE.

Метод Что делает Типичное применение
GET Получить ресурс Открыть страницу, загрузить картинку
POST Отправить данные Форма входа, оформление заказа
PUT Заменить ресурс целиком Обновить профиль пользователя
PATCH Изменить часть ресурса Поменять только имя в профиле
DELETE Удалить ресурс Удалить публикацию
HEAD Получить только заголовки Проверить, изменилась ли страница

Эволюция HTTP: от 1.0 до 3

HTTP появился в 1991 году и с тех пор изменился разительно. Основная проблема первых версий - неэффективность: каждый ресурс требовал отдельного TCP-соединения.

Современная веб-страница состоит из сотен объектов: HTML-каркас, десятки картинок, CSS-файлы, JavaScript, шрифты. Если бы под каждый объект требовалось устанавливать отдельное TCP-соединение (со всем тройным рукопожатием), страница грузилась бы в разы медленнее.

Версия Год Главное нововведение Проблема
HTTP/1.0 1996 Базовый протокол Новое соединение под каждый файл
HTTP/1.1 1997 Keep-alive: одно соединение для нескольких запросов Head-of-Line Blocking: запросы в очереди
HTTP/2 2015 Мультиплексирование: несколько запросов параллельно в одном соединении, сжатие заголовков Head-of-Line Blocking на уровне TCP
HTTP/3 2022 Работает поверх QUIC (UDP вместо TCP), нет блокировки очереди Более сложная реализация
💡 Head-of-Line Blocking - очередь, которая встала: В HTTP/1.1 запросы в одном соединении выполняются по очереди: пока первый не получен, второй ждёт. Представьте кассу в магазине, где покупатель перед вами ищет карточку лояльности - все стоят. HTTP/2 добавил «несколько касс», но если TCP-пакет потерялся, стоят все потоки сразу. HTTP/3 решил это кардинально: перешёл на QUIC поверх UDP, где потоки независимы - потеря одного пакета не блокирует остальные.

🔒 HTTPS: тот же HTTP, но в конверте

HTTP передаёт данные открытым текстом. Это значит, что любой, кто находится «на пути» между вашим устройством и сервером - провайдер, оператор публичного Wi-Fi, любой, кто перехватывает трафик - может прочитать всё: страницы, которые вы смотрите, данные форм, пароли.

HTTPS (HTTP Secure) решает эту проблему, добавляя слой шифрования. Буква S означает SSL/TLS - протоколы, которые создают зашифрованный «туннель» между браузером и сервером. HTTP-запросы идут внутри этого туннеля: снаружи видно только то, что вы соединились с определённым сервером, но не то, что именно вы запрашиваете и что получаете.

📌 SSL и TLS - в чём разница: SSL (Secure Sockets Layer) - оригинальный протокол, разработанный Netscape в 1994 году. TLS (Transport Layer Security) - его преемник, более надёжный. SSL официально устарел ещё в 2015 году и считается небезопасным. Сегодня всюду используется TLS, но по историческим причинам название «SSL» по-прежнему встречается - в разговоре, настройках, сертификатах. Когда говорят SSL, почти всегда имеют в виду TLS.

Что такое сертификат и зачем он нужен

Шифрование решает проблему конфиденциальности - никто не прочитает ваши данные. Но оно не решает другую проблему: вы уверены, что говорите именно с тем сервером, с которым хотите?

Представьте: вы набираете any.by, но злоумышленник перехватил ваш запрос и направил вас на свой сервер, который выглядит точно так же. Можно зашифровать соединение с поддельным сервером - только пользы ноль.

Для решения этой проблемы существуют цифровые сертификаты. Сертификат — это электронный документ, который сервер предъявляет браузеру при установке соединения. В нём написано: «Я - сервер any.by, вот мой публичный ключ шифрования, и вот подпись доверенной организации, которая это подтверждает».

Доверенные организации называются центрами сертификации (Certificate Authority, CA). Браузер заранее знает список доверенных CA - он встроен в операционную систему и в сам браузер. Если сертификат подписан доверенным CA и данные в нём совпадают с доменом, который вы запрашиваете, - браузер показывает замочек в адресной строке. Если нет - предупреждение.

📌 Аналогия с паспортом: Сертификат — это как паспорт. Сам по себе кусок бумаги ничего не значит. Но если он выдан государством (доверенным органом), содержит фотографию и печать, - его признают. Браузер «признаёт» сертификаты, выданные доверенными CA - так же, как пограничник признаёт паспорта известных государств. Самоподписанный сертификат - как паспорт, который человек сделал сам дома: технически он есть, но доверять ему нельзя.

Как работает TLS-рукопожатие

Прежде чем начать зашифрованный обмен, браузер и сервер должны договориться: какой алгоритм шифрования использовать, обменяться ключами, проверить подлинность. Это называется TLS-рукопожатие (TLS handshake).

Шаг Кто делает Что происходит
1. Client Hello Браузер → Сервер «Я поддерживаю вот такие алгоритмы шифрования, вот случайное число»
2. Server Hello Сервер → Браузер «Выбираю вот этот алгоритм, вот моё случайное число и мой сертификат»
3. Проверка сертификата Браузер Проверяет подпись CA, дату действия, соответствие домена
4. Обмен ключами Браузер + Сервер Используют асимметричное шифрование, чтобы договориться о симметричном ключе сессии
5. Finished Оба Подтверждают, что рукопожатие прошло успешно, переходят на симметричное шифрование

После рукопожатия весь обмен данными идёт с помощью симметричного шифрования (например, AES) - оно гораздо быстрее асимметричного. Асимметричное использовалось только для безопасной передачи ключа. Это гибридная схема: надёжность асимметричной криптографии + скорость симметричной.

💡 Как передать ключ, если нас слушают? Это главная магия TLS - алгоритм Диффи-Хеллмана (или его современный аналог на эллиптических кривых, ECDHE). Работает так: браузер и сервер обмениваются публичными данными. Каждый у себя смешивает эти данные со своим приватным ключом, который никогда не передаётся по сети. В итоге у обеих сторон получается один и тот же «общий секрет» - симметричный ключ сессии - хотя сам этот ключ по проводам никогда не летел. Перехватчик, видя только публичные данные, вычислить секрет не может.
💡 Почему асимметричное шифрование - для ключей, а не для всего? Асимметричное шифрование (RSA, ECDH) работает с парой ключей: публичным и приватным. Что зашифровано публичным - расшифрует только приватный. Это позволяет двум сторонам безопасно договориться о ключе, даже если их разговор прослушивают. Но асимметричные операции в сотни раз медленнее симметричных - шифровать весь трафик ими нерентабельно. Поэтому асимметричное шифрование используется один раз в начале, чтобы передать симметричный ключ, а дальше работает быстрый симметричный AES.

Виды сертификатов

Не все сертификаты одинаковы. Они различаются по тому, что именно проверяет центр сертификации перед выдачей:

Тип Что проверяется Как выглядит в браузере Кому подходит
DV (Domain Validation) Только владение доменом Замочек в адресной строке Блоги, информационные сайты
OV (Organization Validation) Домен + существование организации Замочек, в деталях - название компании Корпоративные сайты
EV (Extended Validation) Тщательная проверка организации В старых браузерах - зелёная строка с названием Банки, платёжные системы
Wildcard Домен + все поддомены (*.any.by) Один сертификат для всего Сайты с множеством поддоменов
📌 Let's Encrypt: бесплатные сертификаты для всех. До 2016 года получить сертификат означало платить центру сертификации и проходить ручную проверку. Некоммерческий проект Let's Encrypt изменил это: он выдаёт DV-сертификаты бесплатно и автоматически, обновляет их каждые 90 дней. Сегодня более половины всех сайтов в интернете используют сертификаты Let's Encrypt. Именно поэтому замочек в браузере перестал означать «серьёзный платный сайт» и стал просто базовым минимумом.
🔒 HSTS: никогда не возвращаться на HTTP. Даже с HTTPS остаётся одна уязвимость: самый первый переход по адресу без «https://» всё равно идёт через незащищённый HTTP, и только потом сервер перенаправляет на HTTPS. В эту секунду возможна атака «человек посередине». HSTS (HTTP Strict Transport Security) решает это: сервер один раз сообщает браузеру «всегда используй HTTPS для этого домена», и браузер запоминает это на месяцы вперёд. Следующие переходы сразу идут по HTTPS, минуя незащищённый первый шаг.

🚀 Полный путь: от Enter до страницы

Теперь соберём всё вместе. Вы нажимаете Enter после any.by. Происходит следующее:

Этап Что происходит Где это работает Время
1. DNS-запрос Браузер спрашивает: «Какой IP у any.by?» Получает ответ: 104.21.48.175 DNS-кэш браузера → ОС → DNS-резолвер → иерархия DNS 0–50 мс (обычно из кэша)
2. TCP-соединение Тройное рукопожатие с сервером: SYN → SYN-ACK → ACK Транспортный уровень (TCP) 1 RTT (~10–100 мс)
3. TLS-рукопожатие Обмен сертификатом, проверка, согласование ключей TLS поверх TCP 1–2 RTT (~20–200 мс)
4. HTTP-запрос GET / HTTP/1.1 с заголовками HTTP/HTTPS 1 RTT
5. Обработка на сервере Веб-сервер читает запрос, получает данные из базы или файла, формирует HTML Сервер (nginx, Apache, PHP, база данных) 10–500 мс
6. Передача HTML Сервер возвращает 200 OK + HTML-документ HTTPS → TCP → IP → физика Зависит от размера и скорости
7. Разбор HTML браузером Браузер находит в HTML ссылки на CSS, JS, картинки и запрашивает их параллельно Браузер Параллельно с передачей
8. Рендеринг страницы CSS применяется к HTML, JS выполняется, картинки вставляются, страница рисуется на экране Движок браузера + GPU 10–200 мс

Суммарно всё это занимает от 100 до нескольких сотен миллисекунд. Половину этого времени обычно уходит на сеть (RTT - время туда-обратно), а не на вычисления. Именно поэтому серверы размещают географически близко к пользователям, используют CDN (Content Delivery Network) - сети распределённых серверов, где копии сайта хранятся сразу в десятках городов мира.

💡 RTT - round-trip time, время туда-обратно. Скорость света в оптоволокне - около 200 000 км/с. Расстояние от Минска до Нью-Йорка - примерно 7 500 км. Значит, теоретический минимум RTT через Атлантику - около 75 мс только на одну сторону, 150 мс туда-обратно. На практике - 100–200 мс, плюс время обработки. Это и есть физический предел: даже идеальный сервер в Нью-Йорке не может ответить белорусскому браузеру быстрее, чем позволяет скорость света.

🛡️ Что ещё происходит «по дороге»

Кэширование: не загружать одно дважды

Браузер кэширует ресурсы - картинки, CSS, JS - на основе заголовков ответа сервера. Если сервер сказал Cache-Control: max-age=86400, браузер не будет запрашивать этот файл целые сутки, а возьмёт из локального кэша. Поэтому при повторном посещении сайт загружается быстрее.

Если файл всё же изменился раньше срока - сервер ставит в URL уникальный хэш (style.a3f9b2.css). Новый URL - браузер считает его новым файлом и загружает заново.

Cookies: память без памяти

HTTP - протокол без состояния (stateless). Каждый запрос независим: сервер не помнит, что вы уже запрашивали страницу пять секунд назад. Но сайты помнят, что вы авторизованы, что у вас в корзине - как?

С помощью cookies — небольших текстовых файлов, которые сервер просит браузер хранить. При каждом следующем запросе к этому домену браузер автоматически отправляет cookies обратно. Сервер видит cookie с идентификатором сессии, находит её в базе данных и «вспоминает» пользователя.

CORS: почему сайты не могут читать друг друга

Браузер применяет политику Same-Origin Policy — JavaScript на странице any.by не может просто так запросить данные с evil.com или даже с api.any.by. Это защита: если бы любой скрипт мог читать любой сайт, вредоносная страница могла бы читать ваш банковский аккаунт.

Когда сервер хочет разрешить запросы с других доменов - он добавляет заголовок Access-Control-Allow-Origin. Это называется CORS (Cross-Origin Resource Sharing). Браузер проверяет этот заголовок и либо разрешает запрос, либо блокирует его ещё до того, как данные дойдут до скрипта.

🔍 Как это увидеть своими глазами

Всё описанное выше можно наблюдать прямо в браузере - через инструменты разработчика.

Нажмите F12 (или Ctrl+Shift+I) на любой странице. Перейдите на вкладку Network. Перезагрузите страницу. Вы увидите все запросы: DNS, TCP, TLS, HTTP. Для каждого запроса - код ответа, размер, время. Кликните на любой запрос - там будут заголовки: и то, что браузер отправил, и то, что сервер вернул.

Вкладка Security покажет сертификат сайта: кто выдал, до какой даты действует, какой алгоритм шифрования используется.

📌 Попробуйте сами: Откройте любой сайт с F12 → Network. Найдите первый запрос (обычно это сам HTML). Посмотрите на вкладку Timing - там будет разбивка: DNS Lookup, Initial Connection, SSL, Waiting (время до первого байта ответа), Content Download. Это и есть весь путь, который мы только что разобрали - но в реальных цифрах для реального сайта.

Итог: невидимый разговор длиной в полсекунды

Открытие сайта — это слаженная работа десятков систем. DNS переводит имя в адрес. TCP устанавливает надёжное соединение. TLS проверяет подлинность сервера и шифрует канал. HTTP описывает, что именно нужно. Сервер обрабатывает запрос и отвечает. Браузер разбирает ответ и рисует страницу.

Каждый из этих шагов мы разобрали в предыдущих статьях раздела - физический уровень, пакеты, IP-адреса, TCP и UDP. Статья 3.6 — это финальная сборка пазла. Теперь вы знаете не только что происходит, но и почему именно так.

В следующей статье разберём Wi-Fi и домашнюю сеть изнутри: как работает маршрутизатор, что такое диапазоны 2,4 и 5 ГГц и почему один канал лучше другого.


📍 Привезите технику в сервис ANY.BY — диагностика бесплатно, работаем без выходных.
🚗 Не можете приехать — вызовите мастера на дом.
🛒 Ноутбуки, компьютеры и комплектующие — магазин magaz.by.

📞 +375 (33) 323-70-00 (МТС) | +375 (29) 323-70-00 (A1)
✉️ Telegram | Viber

➡️ Смотреть полный прайс-лист →

← 3.5. TCP и UDP: надёжность против скорости 📋 Оглавление 3.7. Wi-Fi и домашняя сеть изнутри →
Расписание работы · ул. Куйбышева, 26
Пн–Пт 10:00–19:00
Суббота 11:00–17:00
Воскресенье 12:00–16:00

★★★★★ 4.8 · 161 отзыв в Google
★★★★★ 4.8 · 41 отзыв в Яндекс
Ю
Юлия М.
февраль 2023
★★★★★

Очень довольна результатом. Всё работает исправно, спасибо большое!

Н
Наталья Рачковская
2022
★★★★★

Великолепная работа мастера! Чётко определили проблемы, дали полную консультацию. Всё сделано оперативно, результатами довольны полностью.

R
Ruslan Vasilevich
2023
★★★★★

Консультация, установка ПО, дополнительные услуги — всё доступно объяснили. Стоимость по окончании работ не превысила предварительной оценки. Рекомендую всем!

С
Степан
2022
★★★★★

Рекомендую данный сервис. Специалисты быстро нашли причину неполадки и обсудили со мной решение. Сервис учитывает пожелания и бюджет клиента. Получил хорошую сборку в короткие сроки.

А
Анастасия Подберезская
январь 2026
★★★★★

Качественно и на совесть отремонтировали ноутбук. Объяснили все нюансы от А до Я. Адекватные цены. Приятный бонус — именной брелок из дерева в подарок) рекомендую!

Ю
Юлия Сокол
октябрь 2025
★★★★★

Огромная благодарность ребятам за реанимацию моего компьютера. Профессионалы своего дела. Рекомендую 100%.

Д
Дмитрий
январь 2026
★★★★★

Спасибо большое за качественную и быструю работу!!! Рекомендую!

М
Максим Булат
сентябрь 2025
★★★★★

Приносил видеокарту на обслуживание. Сделали все быстро и качественно. Температуры упали значительно. Рекомендую.

С
Сергей
2020
★★★★★

Качественный ремонт и приятные цены. Обращался не раз, всегда доволен результатом.

В
Виталий С.
август 2021
★★★★★

Сдавал ноутбук на сложный ремонт по питанию. Другие сервисы не брались, а здесь сделали! Работает стабильно уже месяц. Огромное спасибо за профессионализм.


📖 Как устроен компьютер

Цикл статей ANY.BY - от транзистора до интернета.
Простым языком, без лишней теории.

🎓 Читать учебник →