Во-первых, ругань и возможные обходные пути. Во-вторых, возможное сумасшедшее решение.
Выговор
Если вы отправляете между клиентом и сервером 250 - 500 тыс. Назад и вперед, вы делаете это неправильно. Посмотрите на
Запрашивать и отправлять только необходимую информацию
Если в XML есть информация, которая меняется не часто, настройте свой веб-сервер для агрессивного http-кэширования для этих запросов. Кроме того, рассмотрите возможность отправки «не часто меняющейся информации» вместе с первоначальным запросом страницы, а не извлекайте ее с сервера
Рассмотрите возможность отправки JSON вместо XML. JSON менее многословен, чем XML, и обычно занимает меньше места. Если вашему клиентскому коду необходим объект XML, восстановите его из только что загруженного JSON.
Если вы используете apache, mod_deflate скопирует ваши данные клиенту, который может их принять. В прошлый раз, когда я изучал кодирование gzip на IIS, оно выполняло операции архивирования и разархивирования на диске, что быстро стало узким местом в ситуациях высокой нагрузки (YMMV) * 1021 *
Безумное решение
Если вы одержимы попыткой выполнить маршрут сжатия в javascript, алгоритм сжатия LZ77 был перенесен на большинство языков, , включая javascript .
Найдите аналогичный код для вашей серверной платформы, сожмите XML, а затем передайте его к коду, найденному по ссылке выше. Чтобы избежать проблем с кодированием, я бы попытался обернуть сжатые данные в XML или JSON при их отправке.
Производительность сжатия Javascript будет медленной. As.molasses, поэтому я не рекомендую этот маршрут.