Как использовать gzip Content-Encoding для загрузки простого текста?

У меня есть ситуация, когда
пользователь должен загрузить большой текстовый файл (1-15 МБ) CSV-файл
который после редактирования с использованием Excel,
перезагружен как есть (отредактировано CSV)
на сайт с помощью веб-браузера на той же странице.

GZIP-кодировка применяется для скачивания
и содержимое, отправленное пользователю, сжато gzip (видно через firebug)

Проблема в том, когда пользователь повторно загружает отредактированный файл,
это передано как несжатый текст (это?).
Ограниченная пропускная способность пользователя (загрузка около 50-128 Кбит / с)
и довольно большая база пользователей (более 100 одновременно работающих пользователей)
приведет к снижению производительности сайта (время отклика более одной минуты)
когда одновременная загрузка / загрузка выполняется.

Вопрос: Как сделать так, чтобы клиентский браузер отправлял файл через HTTP Post?
используя кодирование и сжатие содержимого gzip
за кулисами?

Мы можем поручить пользователю заархивировать файл перед загрузкой,
но с учетом обстоятельств, которые могут быть созданы различные форматы архивных файлов
и добавление шага для пользователя делает принятие "архивирования" не жизнеспособным вариантом,

редактировать

и декомпрессия на стороне сервера увеличит нагрузку
на уже занятый сервер.

перефразировать

в то время как серверная логика декомпрессии для различных форматов
добавит сложности к коду на стороне сервера.
Декомпрессионное бремя само по себе является приемлемым из-за
время передачи и использование полосы пропускания уменьшены за счет сжатия.

Информация

  • Сервер: IIS
  • Сделано с использованием ASP.NET MVC 3,
    Visual Studio 2010 C# 4.0,
    Расширение DevExpress 12 MVC,
    Компонент UploadControl

Подобный вопрос не дает желаемого ответа:

Сжатие данных HTTP Post, отправленных из браузера

некоторые даже остались без ответа:

Внедрите http-сжатие для почтовых данных

1 ответ

и обработка распаковки на стороне сервера увеличит нагрузку на уже занятый сервер.

Использование gzip для загрузки будет хуже, обычно сжатие требует гораздо больше ресурсов процессора, чем распаковка.

Невозможно волшебным образом принудительно загрузить gzip для загрузки, и даже если вам это удалось, распаковка всегда будет выполняться сервером, который, как вы говорите, вам не нужен.

Мне кажется, что ваше решение просто больше не соответствует вашим требованиям к обслуживанию. Скорее всего, вам придется либо смириться с этим, либо столкнуться с каким-то обновлением.

Другие вопросы по тегам