Сжатие XML в WebPage

Я передаю изрядное количество XML с сервера клиенту в своем приложении (250-500 тысяч каждый раз).

Как я могу сжать его на сервере и распаковать на клиенте с помощью стандартного JavaScript? Является ли это возможным?

какой веб-сервер вы используете?

terjetyl 20.12.2008 23:55

IIS (с включенным сжатием)

Jason 21.12.2008 00:24
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
1 055
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это передача типа HTTP?

Самый простой способ - изучить сжатие на стороне веб-сервера.

XML Обычно очень хорошо сжимается.

HTTPS-переводы, да. У меня включено сжатие веб-сервера. Полагаю, это лучшее, что я могу сделать?

Jason 21.12.2008 00:23
Ответ принят как подходящий

Во-первых, выговор и возможные обходные пути. Во-вторых, возможное безумное решение.

Брань

Если вы отправляете 250–500 тыс. Туда и обратно между клиентом и сервером, вы делаете это неправильно. Смотреть в

  1. Запрос и отправка только той информации, которая вам нужна

  2. Если в XML есть информация, которая не часто меняется, настройте свой веб-сервер на агрессивное http-кеширование для этих запросов. Кроме того, рассмотрите возможность отправки сообщения "информация не часто меняется" вместе с запросом начальной страницы вместо того, чтобы получать ее с сервера.

  3. Рассмотрите возможность отправки JSON вместо XML. JSON менее подробен, чем XML, и обычно занимает меньше места. Если вашему клиентскому коду НУЖЕН объект XML, восстановите его из только что загруженного JSON.

  4. Если вы используете apache, mod_deflate заархивирует ваши данные для клиента, который может их принять. В прошлый раз, когда я изучал кодировку gzip в IIS, она выполняла сжатие и разархивирование на диске, что быстро стало узким местом в ситуациях с высокой нагрузкой (YMMV).

Безумное решение

Если вы одержимы попыткой сжатия в javascript, алгоритм сжатия LZ77 был перенесен на большинство языков, включая javascript.

Найдите аналогичный код для своей серверной платформы, сожмите XML, а затем скормите его в код, указанный по ссылке выше. Чтобы избежать проблем с кодированием, я бы попробовал обернуть сами сжатые данные в XML или JSON при их отправке.

Производительность сжатия Javascript будет медленной. As.molasses, поэтому я не рекомендую этот путь.

У меня были ситуации, когда мне нужно было пересылать большие объемы данных туда и обратно. Например - реальный пример здесь - статистика о количестве продаж продуктов каждый час за неделю для магазина. Я не использую JS, но это XML-данные (пока я не перепишу в JSON, что я действительно хочу сделать!)

Matthew Schinckel 21.12.2008 05:08

Спасибо за нагоняй. Данные действительно меняются (и мне все это нужно) ... возможно, JSON будет лучшим решением, потому что он меньше. Я разберусь с этим, спасибо.

Jason 21.12.2008 06:22

Stackoverflow должен очистить все свои сообщения, которые ссылаются на геогорода (глоток), и поставить на них красный флаг!

felickz 07.11.2011 19:01

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