Я честно не понимаю почему gzip считается лучшим сжатием....
Ведь при включенном gzip при переходе "Назад" в браузере страница грузится зпново, а без gzip берется из кеша...
За статью спасибо
Зависимость такая, что, например, IIS отключает по умолчанию кеширование при сжатии файлов. Это связанно с тем, что файл может закешироваться на каком-нить прокси и, если клиент не поддерживает gzip, то он никак не сможет получить нормальную несжатую версию файла. В связи с этим и не советуют включать кеширование для сжатых файлов.
When you enable HTTP compression, compressed files are given a default expiration date of Jan. 1, 1997. This expiration date prevents proxy servers from serving cached copies of compressed files to browsers that are not compression-enabled.
Хотя, думаю, можно просто обойтись Cache Control: Private.
1) далеко не все юзеры пользуются кнопкой назад
2) не на всех сайтах есть такая необходимость
3) тот маленький процент страниц, которые будут запрошены в результате нажатия кнопки "назад" не сэкономят траффик так, как это делает компрессия. На некоторых сайтах компрессия экономит траффик в 5 раз, бывает и больше. Вот грубо если посчитать, одна такая зазипованная странница оправдает 5 раз нажатие кнопки назад :)
Сразу ссылку не приведу, но слышал не из одного источника. Вот последний - это Бобук в интервью с разработчиком IE. Он там цифру называл на основе яндексовских наблюдений. Понятно, что не последняя инстанция, но тенденция, я думаю, есть к этому.
Идеальный рецепт :)
1) для css и js использовать модуль http_gzip_static_module в nginx. для браузеров, поддерживающих сжатие отдает уже заранее приготовленный gz (степень сжатия = 9)
2) для динамики использовать динамическое сжатие в nginx-е со степенью сжатия = 1
Судя по графикам, если увеличить степень сжатия с 1 до 6, то ответ будет меньше всего на 4%, зато время создания/загрузка процессора увеличится на 100%, то есть, в 2 раза.
А как считалось разница - в процентах от исходного файла ? Можно привести примеры ? Например, берём prototype-1.6.0.2.js - 126127 байт, gzip -1 - 36182, gzip -6 - 29206. Получаем 71.3% и 76.8%.
Я думаю, сравнивая два метода, логичнее было бы сравнивать их результаты. В данном случае я вижу, что сжатие 6 поможет сократить трафик на 10-15 процентов, оборотно стороной является значительная загрузка процессора по сравнению с степенью 1.
В большинсве случаев на загрузку гзипом можно начхать :)
Всеравно страница генериться как минимум раз так в 5-6-7 дольше.
Средне по рунету - начиная от 100 раз дольше( если брать время работы гзипа 14мсек)
:) там ошибка в графике была. Время работы 10000 итерация было в секундах, соответственно, время на сжатие 60Кб на сервере было порядка 1-2мс, что совсем мало :)
Исследование степени gzip-сжатия и загрузки процессора