how/network
Зелёный замочек в браузере появляется не сразу. До него - несколько пакетов где стороны выбирают шифр, проверяют сертификат и вычисляют общий ключ.
Когда ты открываешь https://example.com, до того как в
браузере появится содержимое страницы - клиент и сервер должны
договориться о зашифрованном канале. Это и есть TLS handshake.
В нём решается несколько задач сразу:
Нажми ▶ - посмотрим как это всё происходит за 3 пакета (TLS 1.2 - у 1.3 хитрее, всё в 1 round-trip, но идея та же).
Перед TLS должен быть готов транспортный канал -
TCP-соединение в ESTABLISHED (см. tcp-handshake).
Поверх этого канала начинается отдельный handshake - теперь договариваемся о шифровании. До его завершения никаких HTTP-данных не передаётся - только служебные TLS-сообщения.
итого
Что важно запомнить:
intermediate-09-tls- handshake где разбирается реальный pcap с tcpdump'аСвязано с [[tls-handshake|расширенной статьей в KB]] и со следующим explainer'ом про HTTPS cert chain validation - что происходит когда браузер проверяет сертификат.