3.6. DNS, HTTP, HTTPS
3.6. DNS, HTTP, HTTPS
Опубликовано: 11.04.2026
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 - не один сервер. Это иерархическая распределённая система, где каждый уровень знает о своём «кусочке» имён.
Возьмём адрес 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 составляет несколько часов или дней. Поэтому вся цепочка в реальности занимает несколько миллисекунд, а при повторном обращении - меньше миллисекунды.
Что ещё умеет 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-сервера | Кто «главный» для этого домена |
🌐 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), нет блокировки очереди | Более сложная реализация |
🔒 HTTPS: тот же HTTP, но в конверте
HTTP передаёт данные открытым текстом. Это значит, что любой, кто находится «на пути» между вашим устройством и сервером - провайдер, оператор публичного Wi-Fi, любой, кто перехватывает трафик - может прочитать всё: страницы, которые вы смотрите, данные форм, пароли.
HTTPS (HTTP Secure) решает эту проблему, добавляя слой шифрования. Буква S означает SSL/TLS - протоколы, которые создают зашифрованный «туннель» между браузером и сервером. HTTP-запросы идут внутри этого туннеля: снаружи видно только то, что вы соединились с определённым сервером, но не то, что именно вы запрашиваете и что получаете.
Что такое сертификат и зачем он нужен
Шифрование решает проблему конфиденциальности - никто не прочитает ваши данные. Но оно не решает другую проблему: вы уверены, что говорите именно с тем сервером, с которым хотите?
Представьте: вы набираете any.by, но злоумышленник перехватил ваш запрос и направил вас на свой сервер, который выглядит точно так же. Можно зашифровать соединение с поддельным сервером - только пользы ноль.
Для решения этой проблемы существуют цифровые сертификаты. Сертификат — это электронный документ, который сервер предъявляет браузеру при установке соединения. В нём написано: «Я - сервер any.by, вот мой публичный ключ шифрования, и вот подпись доверенной организации, которая это подтверждает».
Доверенные организации называются центрами сертификации (Certificate Authority, CA). Браузер заранее знает список доверенных CA - он встроен в операционную систему и в сам браузер. Если сертификат подписан доверенным CA и данные в нём совпадают с доменом, который вы запрашиваете, - браузер показывает замочек в адресной строке. Если нет - предупреждение.
Как работает TLS-рукопожатие
Прежде чем начать зашифрованный обмен, браузер и сервер должны договориться: какой алгоритм шифрования использовать, обменяться ключами, проверить подлинность. Это называется TLS-рукопожатие (TLS handshake).
| Шаг | Кто делает | Что происходит |
|---|---|---|
| 1. Client Hello | Браузер → Сервер | «Я поддерживаю вот такие алгоритмы шифрования, вот случайное число» |
| 2. Server Hello | Сервер → Браузер | «Выбираю вот этот алгоритм, вот моё случайное число и мой сертификат» |
| 3. Проверка сертификата | Браузер | Проверяет подпись CA, дату действия, соответствие домена |
| 4. Обмен ключами | Браузер + Сервер | Используют асимметричное шифрование, чтобы договориться о симметричном ключе сессии |
| 5. Finished | Оба | Подтверждают, что рукопожатие прошло успешно, переходят на симметричное шифрование |
После рукопожатия весь обмен данными идёт с помощью симметричного шифрования (например, AES) - оно гораздо быстрее асимметричного. Асимметричное использовалось только для безопасной передачи ключа. Это гибридная схема: надёжность асимметричной криптографии + скорость симметричной.
Виды сертификатов
Не все сертификаты одинаковы. Они различаются по тому, что именно проверяет центр сертификации перед выдачей:
| Тип | Что проверяется | Как выглядит в браузере | Кому подходит |
|---|---|---|---|
| DV (Domain Validation) | Только владение доменом | Замочек в адресной строке | Блоги, информационные сайты |
| OV (Organization Validation) | Домен + существование организации | Замочек, в деталях - название компании | Корпоративные сайты |
| EV (Extended Validation) | Тщательная проверка организации | В старых браузерах - зелёная строка с названием | Банки, платёжные системы |
| Wildcard | Домен + все поддомены (*.any.by) | Один сертификат для всего | Сайты с множеством поддоменов |
🚀 Полный путь: от 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) - сети распределённых серверов, где копии сайта хранятся сразу в десятках городов мира.
🛡️ Что ещё происходит «по дороге»
Кэширование: не загружать одно дважды
Браузер кэширует ресурсы - картинки, 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 покажет сертификат сайта: кто выдал, до какой даты действует, какой алгоритм шифрования используется.
Итог: невидимый разговор длиной в полсекунды
Открытие сайта — это слаженная работа десятков систем. DNS переводит имя в адрес. TCP устанавливает надёжное соединение. TLS проверяет подлинность сервера и шифрует канал. HTTP описывает, что именно нужно. Сервер обрабатывает запрос и отвечает. Браузер разбирает ответ и рисует страницу.
Каждый из этих шагов мы разобрали в предыдущих статьях раздела - физический уровень, пакеты, IP-адреса, TCP и UDP. Статья 3.6 — это финальная сборка пазла. Теперь вы знаете не только что происходит, но и почему именно так.
В следующей статье разберём Wi-Fi и домашнюю сеть изнутри: как работает маршрутизатор, что такое диапазоны 2,4 и 5 ГГц и почему один канал лучше другого.
© 2008–2026 ANY.BY - ремонт компьютеров и ноутбуков в Барановичах. Использование материалов сайта возможно с письменного разрешения.
📍 Привезите технику в сервис ANY.BY — диагностика бесплатно, работаем без выходных.
🚗 Не можете приехать — вызовите мастера на дом.
🛒 Ноутбуки, компьютеры и комплектующие — магазин magaz.by.
📞 +375 (33) 323-70-00 (МТС) | +375 (29) 323-70-00 (A1)
✉️ Telegram | Viber
📞 Мы на связи для Вас:
| Пн–Пт | 10:00–19:00 |
| Суббота | 11:00–17:00 |
| Воскресенье | 12:00–16:00 |
Очень довольна результатом. Всё работает исправно, спасибо большое!
Великолепная работа мастера! Чётко определили проблемы, дали полную консультацию. Всё сделано оперативно, результатами довольны полностью.
Консультация, установка ПО, дополнительные услуги — всё доступно объяснили. Стоимость по окончании работ не превысила предварительной оценки. Рекомендую всем!
Рекомендую данный сервис. Специалисты быстро нашли причину неполадки и обсудили со мной решение. Сервис учитывает пожелания и бюджет клиента. Получил хорошую сборку в короткие сроки.
Качественно и на совесть отремонтировали ноутбук. Объяснили все нюансы от А до Я. Адекватные цены. Приятный бонус — именной брелок из дерева в подарок) рекомендую!
Огромная благодарность ребятам за реанимацию моего компьютера. Профессионалы своего дела. Рекомендую 100%.
Спасибо большое за качественную и быструю работу!!! Рекомендую!
Приносил видеокарту на обслуживание. Сделали все быстро и качественно. Температуры упали значительно. Рекомендую.
Качественный ремонт и приятные цены. Обращался не раз, всегда доволен результатом.
Сдавал ноутбук на сложный ремонт по питанию. Другие сервисы не брались, а здесь сделали! Работает стабильно уже месяц. Огромное спасибо за профессионализм.
Цикл статей ANY.BY - от транзистора до интернета.
Простым языком, без лишней теории.