1. Пользователь вводит в браузере адрес сайта;
2. Браузер начинает искать сервер;
Адрес сервера — это уникальный набор цифр, который называется IP-адресом. Он представляет собой 32х битовое (для ipv4) или 128ми битовое (для ipv6) двоичное число, каждое такое число в двоичной системе не удобно, так как оно получается очень громоздким. Поэтому их переводят в десятичную систему. Отсюда следует, что браузеру нужно понять, какой именно ip-адрес у сервера, на котором находится сайт. Такая информация хранится в распределенной системе серверов (DNS).
3. Браузер отправляет запрос к DNS-серверам;
4. Браузер устанавливает соединение с сервером;
Как только браузер узнал IP-адрес нужного сервера, он пытается установить с ним соединение. Как правило для этого используется специальный протокол - TCP. TCP - это набор правил, который описывает способы соединения между устройствами, форматы отправки запросов, действия в случае потери данных и так далее.
5. Браузер отправляет HTTP-запрос, чтобы получить контент сайта;
GET или POST запросы.
6. Сервер обрабатывает запрос;
Сервер получил запрос от браузера с подробным описанием того, что ему требуется. Теперь ему нужно обработать этот запрос.
7. Сервер отправляет ответ браузеру;
Ответ сформирован, он отправляется веб-сервером обратно браузеру. В ответе как правило содержится контент для отображения веб-страницы, информация о типе сжатия данных, способах кэширования, файлы cookie, которые нужно записать и так далее.
8. Браузер обрабатывает полученный ответ и «рисует» веб-страницу;
Сначала браузер загружает только основную структуру HTML-страницы. Затем последовательно проверяет все теги и отправляет дополнительные GET-запросы для получения с сервера различных элементов.