Когда пользователь вводит адрес сайта, браузеру необходимо определить адрес сервера, установить соединение и запросить содержимое страницы. Это последовательность этапов, каждый из которых выполняет отдельную задачу.
1. DNS: имя превращается в адрес
DNS — распределённая система имён. Клиент обращается к DNS-резолверу, чтобы получить запись для доменного имени. Для IPv4 обычно используется запись A, для IPv6 — AAAA.
2. Транспортное соединение
HTTP/1.1 и HTTP/2 обычно работают поверх TCP. HTTP/3 использует QUIC поверх UDP. Конкретный вариант зависит от поддержки протоколов клиентом и сервером.
3. TLS защищает соединение
TLS согласует криптографические параметры и позволяет проверить идентичность сервера по сертификату и цепочке доверия.
4. HTTP передаёт запрос и ответ
Браузер отправляет HTTP-запрос, а сервер возвращает статус, заголовки и содержимое: HTML, CSS, изображения и другие ресурсы.