Добрый день!
Подскажите, как правильно принимать и разбирать http-ответ от сервера? При условии, что в запросе Connection: Keep-Alive.
например:
— прочитать в буфер как можно больше данных в первый раз;
— разобрать буфер в поисках Content-Length, если найден, то ищем конец заголовка, вычисляем длину всего сообщения;
— вычитываем из сокета остатки запроса (или очередную порцию для вычисления длины всего сообщения);
— правильно реагируем на Connection в ответе (если close, то закрываем соединение).
Как это делать оптимально с точки зрения скорости?