Как стать автором
Обновить

Комментарии 15

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Mozilla 4? Вы серьёзно? В IE багов нет, начиная с IE6SP2.
Цитируя документацию:
At first we probe for a User-Agent string that indicates a Netscape Navigator version of 4.x. These versions cannot handle compression of types other than text/html. The versions 4.06, 4.07 and 4.08 also have problems with decompressing html files. Thus, we completely turn off the deflate filter for them.

The third BrowserMatch directive fixes the guessed identity of the user agent, because the Microsoft Internet Explorer identifies itself also as «Mozilla/4» but is actually able to handle requested compression. Therefore we match against the additional string «MSIE» (\b means «word boundary») in the User-Agent Header and turn off the restrictions defined before.
1) Netscape Navigator 4.xx сдох много лет назад
2) MSIE 6 (который ещё жив) ниже SP2 содержит ошибку.

Так понятнее?
Я Вас прекрасно понимаю, видимо в оригинале статьи эти строки упоминается в память о прошлом. Естественно, на сегодняшний день это более чем неактуально, но я старался соблюсти целостность статьи в переводе.
Можно добавить примечание переводчика, а не плодить плохие советы.
Согласен, так будет лучше. Примечание добавил.
Скажите, а всегда ли LZ77 лучше, чем RLE? Или он может оказаться хуже в случае небольшого количества повторяющихся цепочек?
RLE нормально работает только на очень синтетических данных. Пример, где RLE выигрывал бы у GZIP-a, сконструировать можно, но вот встретить в природе реальный файл с таким свойством — нет.
… Например, используем максимальное сжатие на библиотеке jQuery.min:

КО mode ON.
А еще можно библиотеку «jQuery.min» упаковать предварительно, один раз, и отдавать прямо из .gz файла. не тратя врямя апача и уж тем более РНР.

КО mode OFF
GZIP хорош… но среди всего зоопарка алгоритмов сжатия, вроде универсального так и не нашлось.

Я просто оставлю это здесь. Кто захочет, почитает.
Методы сжатия данных, онлайн версия тут.
А зачем искусственно создавать зоопарк? Надо пользоваться тем, что работает надежно, годами, то что стандарт де-факто, несколько процентов более лучшего сжатия в актуальны лишь для каких-либо уж слишком специфических случаев и там можно уже и использовать соответствующие алгоритмы
Есть алгоритмы оптимизированные по времени, есть алгоритмы оптимизированные по качеству сжатия, есть алгоритмы оптимизированные по используемым ресурсам, так или иначе — все это для своих задач. Нельзя просто брать и пользоваться одним архиватором везде. Например, чтобы сжимать диски виртуальных машин, очень удобно использовать lrzip. Сжатие качественное, довольно быстрое из-за многопоточности, однако использовать его для отдачи веб-контента не резонно. Тот же gzip проигрывает как минимум по времени сжатия.
И я бы не стал говорить, что это уж сильно специфичная задача.
Тот же PPM, оптимизированный для текста, не очень хорошо справляется с бинарными данными, а LZMA — с текстами.

Обособленно стоит 7zip. В нем достойная пачка алгоритмов. Заслуживает внимания LZMA v2, но и он проигрывает по времени сжатия lrzip'у.

Что в итоге использовать — дело хозяйское, но я все-таки придерживаюсь мнения, что алгоритм для определенных задач.
zopfli реально рулит. Полная обратная совместимость с gzip, идеальное решение для статическое сжатия и PNG
LZMAv2 (да наверное и v1) сжимает не хуже GZIP и не медленнее — я имею ввиду LZMA со степенью сжатия 1, против GZIP со степенью сжатия 9. Иногда даже выходит, что LZMA сжимает сильней и быстрее (чего не скажешь про распаковку). Собственно референс. Ну и напоследок то, что я тут в консоли натыкал протестировал:
Исходный HTML с http://ya.ru:
Степень сжатия         |  размер, байт
В чистом виде          |       9118
gzip/xz  -1            |   3780 / 3584
gzip/xz  -6            |   3515 / 3488
gzip/xz  -9            |   3514 / 3488

Js с http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML:
Степень сжатия         |  размер, байт
В чистом виде          |       58757
gzip/xz  -1            |   20809 / 17616
gzip/xz  -6            |   17643 / 16636
gzip/xz  -9            |   17607 / 16636

Собственно по потребляемым ресурсам GZIP-у нет равных (смотри референс).
Замечание: у LZMA (по крайней мере у консольной команды xz) степень сжатия — это не степень сжатия, а количество памяти, которая понадобиться для распаковки, но оно влияет на степень сжатия.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.