Разрешение доменного имени: Браузер определяет IP-адрес сервера, используя DNS-резолвер (кеш браузера, кеш ОС, файл hosts, DNS-серверы).
Установление TCP-соединения: Браузер устанавливает соединение с сервером по полученному IP-адресу и порту (обычно 80 для HTTP, 443 для HTTPS).
Отправка HTTP-запроса: Браузер формирует и отправляет HTTP-запрос (GET, POST и т.д.), содержащий метод, URL, заголовки (например, User-Agent, Referer, Cookie) и, возможно, тело запроса (например, для POST).
Обработка запроса на сервере: Сервер принимает запрос, веб-сервер (Apache, Nginx и т.д.) определяет обработчик (например, PHP-FPM). PHP-интерпретатор запускает скрипт.
Выполнение PHP-скрипта: PHP-скрипт обрабатывает запрос: подключается к базе данных, выполняет логику, генерирует HTML-страницу или другие данные.
php
Формирование HTTP-ответа: PHP-скрипт, веб-сервер формируют HTTP-ответ, включающий статус-код (например, 200 OK, 404 Not Found), заголовки (Content-Type, Content-Length и т.д.) и тело ответа (обычно HTML).
Отправка HTTP-ответа: Сервер отправляет HTTP-ответ обратно браузеру по установленному TCP-соединению.
Получение и обработка ответа: Браузер получает ответ, разбирает заголовки, определяет тип содержимого и отображает страницу пользователю, выполняет скрипты (JavaScript), загружает дополнительные ресурсы (CSS, изображения).
Разрыв TCP-соединения: Соединение обычно закрывается после получения ответа, если не используются механизмы поддержания соединения (keep-alive).