При попытке передать информацию с помощью Transfer-Encoding: chunked, клиентская сторона читает данные обычным способом

100
03 февраля 2022, 12:40

При отправке информации с помощью 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)? Как исправить возникшую проблему?

READ ALSO
Работа с дочерними окнами mdiArea в QT

Работа с дочерними окнами mdiArea в QT

Создаю дочернее окно в mdiArea и далее хочу вставить туда текст, но как "обратиться" к этому окну - не понимаюИзначально делалось через обычный...

216
Двудольный граф, как исправить алгоритм?

Двудольный граф, как исправить алгоритм?

У меня есть алгоритм проверки графа на двудольностьОн проходит какие-то тесты, но на одном валиться(Входные данные теста неизвестны)

95
Почему g++ (MinGW-w64) не знает про conio.h и не видит _beginthread из process.h?

Почему g++ (MinGW-w64) не знает про conio.h и не видит _beginthread из process.h?

Компилятор - g++ из MinGW-w64 (https://cygwincom/install

56
swiper несколько pagination в одном container

swiper несколько pagination в одном container

подскажите, как сделать два и более pagination в одном слайдере

89