Django / Play Framework: прояснить ситуацию с использованием чанков / потоков - PullRequest
0 голосов
/ 12 января 2019

В настоящее время я новичок в проекте, использующем Play Framework для серверной части веб-приложения.

Для конкретной конечной точки REST мы должны вернуть динамически сгенерированный CSV-файл. Чтобы не хранить файл в памяти в целом и улучшить TTFM (время до первого байта), мы подумали о создании файла «на лету» и немедленном возвращении этих фрагментов пользователю.

Поскольку у меня есть некоторые знания в Django, я знал, что есть StreamingHttpResponse, который именно для случая использования, который я описал выше. Поэтому я искал, есть ли что-то эквивалентное в Play Framework, и обнаружил Chunked responses. Там говорят, что он использует механизм «Chunked Transfer Encoding», предоставленный HTTP 1.1.

Это подводит меня к следующим вопросам:

  1. Используют ли Django StreamingHttpResponse и Play Chunked response один и тот же механизм в фоновом режиме (например, HTTP-кодирование с частичной передачей), или они используют разные методы? Это сообщение в блоге заставляет меня догадываться, что они используют один и тот же механизм в фоновом режиме.
  2. Предполагается, что оба используют кодировку передачи Chunked HTTP. Что произойдет, если мой бэкэнд использует это, но HTTP 2.0 поддерживается и совместимый браузер делает запрос HTTP 2.0?
...