Как браузер получает веб-страницу
От нажатия Enter в адресной строке до готовой страницы на экране — путь одного запроса.
Раздел 22.1 показал общую картину: браузер отправляет запрос, сервер отвечает. Теперь разберём этот путь по шагам — что в точности происходит между нажатием Enter в адресной строке и появлением страницы на экране.
DNS: как доменное имя связывается с сетевыми адресами
Домен вроде python.org удобен человеку, но компьютеры в
интернете находят друг друга по числовым IP-адресам. Служба
DNS (Domain Name System — система доменных имён) хранит соответствия
между доменами и записями, которые помогают найти нужный сервер, и превращает домен в
IP-адрес прежде, чем браузер сможет отправить запрос.
Соединение и запрос
Получив IP-адрес, браузер устанавливает соединение с сервером и отправляет HTTP-запрос — его устройство подробно рассматривается в разделе 22.9. Сервер (в нашем случае — приложение на Flask) обрабатывает запрос и отправляет HTTP-ответ: обычно HTML-страницу, но иногда — данные в формате JSON (раздел 22.15), изображение или файл.
Отрисовка
Получив ответ, браузер разбирает HTML и строит из него дерево DOM (раздел 22.4). По мере разбора он находит ссылки на CSS и JavaScript и запрашивает их отдельными HTTP-запросами (раздел 22.14); отображение страницы при этом может обновляться постепенно, по мере получения нужных данных, а не только после того, как загрузится буквально всё.