Или он уже готов обработать новый запрос, поступающий от другого клиента?
В зависимости от сервера. Обычно на всех серверах есть много рабочих потоков, которые могут обрабатывать запросы и много TCP соединений.
Должен ли сервер ждать, пока отправленный ответ полностью придет клиенту?
Этим занимается уровень TCP, и таки да - сервер дожидается, пока клиент подтвердит получение всех TCP-пакетов.
Где в таком случае будет храниться посланный ответ? В кабеле или радиоволне? :D
В оперативной памяти сервера и буферах узлов по пути к клиенту.