Запросы и ответы в протоколе HTTP
Пусть пользователь хочет открыть в браузере некоторую страницу некоторого сайта. Для этого пользователь либо переходит по некоторой ссылке либо вбивает URL страницу в адресную страницу браузера. При этом оба способа технически эквивалентны.
После этого браузер отправляет серверу запрос (англ. request), в котором просит сервер отдать страницу по указанному URL. Сервер получает запрос браузера, формирует ответ (англ. response) и отправляет его назад в браузер.
Запрос и ответ представляют собой просто строки, оформленные специальным образом. Правила оформления этих строк и регулирует протокол HTTP.
Таким образом все взаимодействие клиента и сервера сводится к перебрасыванию сообщений, подобно мячикам в игре пинг-понг.
При этом инициация запроса обязательна. Это значит, что сервер всегда шлет ответ на запрос браузера. Не может быть такого, что сервер что-то пошлет браузеру сам, без предваряющего запроса браузера.