Я пишу небольшую страницу анализа, которая поможет мне выслеживать ошибки в приложении. По сути, это позволяет визуально сравнивать фактические данные и записи в журнале, а также выполнять анализ данных.
Поскольку это только для отладки, и поскольку я буду развертывать это на реальном сайте, я хочу, чтобы он имел как можно меньше нагрузки на сервер. Некоторые параметры анализа будут включать довольно тяжелый поиск подстроки или n 2 операции, поэтому я собираюсь разгрузить это для клиента.
Это означает, что страница PHP будет просто извлекать данные из таблиц и журналов, некоторые из них JSON и записывать их. Клиент Javascript затем выполнит весь анализ и т. Д.
Проблема в том, что данные JSON будут иметь несколько мегабайт, а мое соединение с сервером – медленное. Было бы неплохо сжать данные. У кого-нибудь есть идеи?
Среда – это PHP + Apache; Я не знаю, будет ли установлен mod_gzip; и я не контролирую его.
Вы можете сжать данные с помощью выходного контроля PHP . Просто поставьте этот вызов в начале вашего скрипта перед любым выходом:
ob_start('ob_gzhandler');
Теперь любой выход будет сжиматься с помощью gzip или deflate, если он будет принят клиентом.
В PHP 5.4 теперь JSON_UNESCAPED_UNICODE, поэтому вы можете заменить char:
\ u00f3 -> Ĺ> = Ś
э:
json_encode($data,JSON_UNESCAPED_UNICODE);
Если apache – ваш выбор (и это, как указано в оригинальном вопросе), вы можете добавить некоторые правила в .htaccess:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html # Add any mime-type you think is appropriate here AddOutputFilterByType DEFLATE application/json </IfModule>