Задать вопрос
JohnBourne
@JohnBourne

Как выглядит коммуникация между frontend и backend при использовании ZipOutputStream?

Как выглядит коммуникация между frontend и backend (java), когда пользователь отправляет запрос на скачивание zip архива? Backend будет использовать ZipOutputStream (бибилиотека), чтобы собирать zip архив на ходу (то есть добавлять в него файлы).

Фронт отправляет http API GET запрос, в ответ мы отдаём что? Могли бы, вы пожалуйста, рассказать мне про полный цикл коммуникации frontend и backend, с примерами запросов.
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
AshBlade
@AshBlade
Просто хочу быть счастливым
Бэк отправляет HTTP ответ, в котором выставляет Content-Encoding: gzip (или другой формат). Фронт находит и пытается распаковать
Ответ написан
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
В вашем случае - взаимодействия нет, если конечно frontend на является нативным приложением.
Поясню:
1) backend подготавливает zip-архив и шлет его в бинарном виде через GET/POST/PUT, выставляя заголовок
Content-Type: application/zip
и возможно
Content-Disposition: attachment; filename="myarchive.zip"

2) frontend, принимая данный ответ на свой запрос:
- если это браузер, то просто скачает файл (если не использовали Blob или что-то подобное),
- если это приложение, то получит бинарный поток, который кладет самостоятельно на диск и распаковывает
- если же frontend в виде JS в браузере примет этот поток, то средств его распаковать у браузера нет! можно только показать прогрессию загрузки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы