Что происходит, когда ты открываешь веб-страницу
При круговой задержке 50 мс странице HTTPS нужно не меньше 4 кругов, 200 мс, до первого байта HTML. HTTP/3 убирает один.
Семь сорок утра. Ученик в переполненной электричке нажимает по мобильному интернету на ссылку со школьным меню обедов, и через мгновение появляется сегодняшнее меню. (Сцена придумана.) За это мгновение телефон сделал всё из пяти прошлых уроков: поиск DNS, соединение TCP, зашифрованный сеанс и запрос HTTP, на который пришёл ответ с кодом состояния. Пройди этот путь вместе с телефоном и посчитай ожидания.
Сначала телефон читает ссылку
Допустим, ссылка https://www.example.com/index.html. MDN разбирает URL на части. https является схемой: использовать HTTP через зашифрованное соединение TLS на порте 443, если не указан другой порт. www.example.com является хостом, именем, которое DNS превратит в адрес. /index.html является путём, ресурсом, который запрашивают на этом сервере. Ещё URL может содержать запрос после вопросительного знака и фрагмент после решётки. Фрагмент указывает на место внутри страницы и никогда не отправляется на сервер.
Четыре круга до первого байта
Время, за которое сообщение доходит до сервера и возвращается ответ, называется круговой задержкой (RTT). Посчитай круги, и станет видно, откуда берётся ожидание. Первый: если имени нет в кэше, поиск DNS стоит примерно одного круга до резолвера. Второй: рукопожатие TCP, SYN туда и SYN-ACK обратно. Третий: TLS 1.3 (RFC 8446) договаривается о ключах за один круг, и последнее сообщение рукопожатия клиента может уйти вместе с запросом HTTP. Четвёртый: запрос уходит, ответ возвращается. При RTT 50 мс до первого байта меню проходит 200 мс, даже если сервер отвечает мгновенно.
Перетащи, чтобы повернуть. Колёсико или щипок для масштаба.
HTTP/3 (RFC 9114) работает на QUIC (RFC 9000) вместо TCP. QUIC работает поверх UDP и устанавливает соединение и ключи TLS одновременно, поэтому отдельный круг TCP исчезает: DNS, один круг рукопожатия, потом запрос, всего три. Обычный HTTP на порте 80 пропускает TLS и тоже требует трёх, но тогда любой на пути, например тот, кто управляет Wi-Fi в кафе, может прочитать или изменить страницу. Замок в адресной строке означает, что соединение с этим доменом зашифровано. Он не означает, что сам сайт честный.
Меню приходит с числом впереди
Ответ начинается с трёхзначного кода состояния. RFC 9110 группирует коды по первой цифре: 1xx информационные, 2xx успех, 3xx перенаправление, 4xx ошибка клиента и 5xx ошибка сервера. Чаще всего встречаются 200 OK, 301 Moved Permanently (у страницы новый адрес), 404 Not Found и 500 Internal Server Error. Если бы школа перенесла страницу с меню, телефон сначала получил бы 301, а потом спросил снова по новому адресу. 404 означает, что сервер ответил, но по этому пути у него ничего нет, то есть сама сеть работала.
Одна страница, много файлов
HTML редко является всей страницей. Допустим, в нём упомянуты таблица стилей, скрипт и пять картинок. Если бы телефон открывал новое соединение для каждого, каждый файл снова платил бы кругами TCP и TLS. Вместо этого браузер держит соединение открытым и отправляет по нему следующие запросы, а в HTTP/2 и HTTP/3 несколько запросов идут по одному соединению одновременно. У браузеров есть и свой кэш. Когда ответ говорит, что им можно пользоваться какое-то время, при следующем посещении этот файл загружается из хранилища без всякого запроса. Только когда файлы на месте, браузер раскладывает и отрисовывает то, что ты видишь. Поэтому страница с меню, которую ученик открывает каждое утро, появляется быстрее, чем сайт, открытый впервые, даже в той же сети.
| RTT | Круговая задержка: туда и обратно |
| 200 | OK |
| 301 | Moved Permanently |
| 404 | Not Found |
| 500 | Internal Server Error |
| HTTP/3 | HTTP поверх QUIC, который работает на UDP |
- RTT равна 50 мс. Сколько пройдёт до первого байта страницы HTTPS (TCP + TLS 1.3), считая поиск DNS?
- Та же RTT 50 мс, но по HTTP/3. Сколько времени?
- RTT равна 80 мс, а имя уже в кэше. Сколько займёт страница HTTPS по TCP?
- Расставь по порядку шаги загрузки страницы HTTPS.
- Что означает 404?
- Not Found
- OK
- Moved Permanently
- Ошибка сервера
- Какой класс кодов состояния означает перенаправление?
- 3xx
- 2xx
- 4xx
- 5xx
- Какой порт использует https://, если порт не указан?
- Что такое /index.html в https://www.example.com/index.html?
- Путь
- Схема
- Хост
- Порт
- На каком транспорте работает HTTP/3?
- QUIC поверх UDP
- TCP
- DNS
- ICMP
- Что говорит замок в адресной строке?
- Соединение с этим доменом зашифровано
- Сайт безопасный и честный
- На сайте нет рекламы
- Страница загрузилась по HTTP/3
- «Замок означает, что сайт безопасен.» Замок говорит лишь о том, что соединение с этим доменом зашифровано TLS. У мошеннического сайта он тоже может быть, поэтому проверяй, что домен именно тот, который ты имел в виду.
- «Режим инкогнито скрывает, что я посещаю, от провайдера и школы.» Режим инкогнито не даёт браузеру сохранять на устройстве историю и данные сайтов после окончания сеанса. В Справке Chrome от Google сказано, что посещаемые сайты, а также организации, управляющие твоей сетью, например школа, работодатель или интернет-провайдер, всё равно могут видеть твои действия. Твои пакеты в любом случае проходят через те же маршрутизаторы.
- «404 означает, что интернет не работает.» 404 является ответом сервера: до него дошли, но по этому пути у него ничего нет. Когда сеть действительно не работает, никакой код состояния вообще не приходит.
- «Часть ссылки после # отправляется на сервер.» Фрагмент остаётся в браузере и лишь выбирает место внутри страницы. На сервер он никогда не отправляется.
- У URL есть схема (https), хост (имя DNS) и путь.
- HTTPS поверх TCP: DNS + TCP + TLS 1.3 + запрос = 4 круга до первого байта.
- HTTP/3 поверх QUIC объединяет рукопожатия: 3 круга.
- Коды состояния: 2xx успех, 3xx перенаправление, 4xx ошибка клиента, 5xx ошибка сервера.
Источники курса (28)
- (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then operators and papers, history sources last)
- IETF RFCs (rfc-editor.org): RFC 768 UDP (1980, 8-byte header)
- RFC 791 IPv4 (1981, 32-bit addresses, "does not provide a reliable communication facility", TTL field "measured in units of seconds" but every module must decrease it by at least one, so it is only an upper bound)
- RFC 792 ICMP (Time Exceeded)
- RFC 801 NCP/TCP transition plan (1 January 1983)
- RFC 894 Ethernet (1500-byte payload)
- RFC 1034 and RFC 1035 DNS (1987, HOSTS.TXT kept by SRI-NIC, labels up to 63 octets and names up to 255, TTL in seconds)
- RFC 1122 (127.0.0.0/8 loopback)
- RFC 1918 private addresses (10/8, 172.16/12, 192.168/16)
- RFC 2131 DHCP, RFC 3022 NAT, RFC 3596 AAAA records, RFC 3849 and RFC 5737 documentation addresses, RFC 4271 BGP-4, RFC 4291 IPv6 text form, RFC 6298 TCP retransmission timer (initial RTO 1 second)
- RFC 6335 port ranges (0-1023, 1024-49151, 49152-65535)
- RFC 7766 DNS over TCP, RFC 8200 IPv6 (128-bit addresses, Hop Limit)
- RFC 8446 TLS 1.3 (one round-trip handshake)
- RFC 9000 QUIC and RFC 9114 HTTP/3, RFC 9110 HTTP semantics (status code classes)
- RFC 9293 TCP (three-way handshake, sequence numbers)
- IANA: ip-parameters registry (recommended default TTL 64)
- IPv4 free pool depleted 3 February 2011 (NRO and ARIN announcements)
- Official documentation: MDN Web Docs "How does the Internet work?" (45 cables for 10 computers, switches, routers, MAC and IP addresses, internet and web)
- "What is a URL?", "HTTP response status codes" (developer.mozilla.org)
- Cloudflare Learning Center: "What is DNS?" (four kinds of DNS server, 8 steps of an uncached lookup, browser and OS caches, TTL)
- "What is HTTP/3?" (cloudflare.com/learning)
- Google Chrome Help, "Browse in Incognito mode" (support.google.com/chrome/answer/95464, checked 2026-10-19: Incognito limits what is saved to the device; websites and organisations that manage your network, like your school, employer or internet service provider, may be able to observe your activity)
- Operators and papers: root-servers.org (13 root name servers run by 12 organisations, 2047 instances on 2026-10-17)
- Jacobson and Karels 1988, Congestion Avoidance and Control (loss mostly congestion)
- History blocks only: UCLA Samueli School of Engineering, Internet50 (first ARPANET message "LO", UCLA to SRI, 29 October 1969, 22:30)
- historyofinformation.com and Wikipedia ARPANET (Kline)
- Spiceworks/SRI history (HOSTS.TXT kept by SRI-NIC)
- Numbers (2^32, 2^96, 45 and 6 cables, packet counts, round-trip times)
Проверено: 2026-10-17