При отправке информации с помощью http-чанков посылаю клиенту вот такой набор заголовков:
static const char hdr[]=
"HTTP/1.0 200 OK\r\n"
"Transfer-Encoding: chunked\r\n"
"Connection: keep-alive\r\n";
После этого добавляется заголовок с типом данных(Content-Type:) и закрывается двумя \r\n, за этим следуют сами чанки, которые формируются в этом методе:
std::string httpHandler::chunk_create(const std::string &block)
{
std::ostringstream chank;
chank << std::hex << block.length();
return chank.str() + "CRLF" + block +"CRLF";
}
Проблема в том, что браузер не понимает, что я передаю информацию чанками, и вместо этого просто добавляет к html страничке размер файла и crlf(иными словами, не интерпритирует составленный чанк как чанк, а читает как информацию полученную без заголовка Transfer-Encoding: chunked).Если браузер не понимает, что информация передается чанками, то,я думаю, ошибка в заголовках.
Вопрос в том, где я ошибся? Может стоит добавить еще заголовоки или исправить существующие(пробовал отправлять с заголовком Vary: Accept-Encoding)? Как исправить возникшую проблему?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей