Почему минимизация HTML / Javascript полезна, когда протокол HTTP уже поддерживает сжатие данных gzip?
Я понимаю, что минимизация Javascript / HTML потенциально может значительно уменьшить размер файлов Javascript / HTML, удаляя ненужные пробелы и, возможно, переименовывая переменные в несколько букв каждая, но алгоритм LZW не особенно хорошо работает, когда много повторений символы (например, много пробелов?)
Я понимаю, что некоторые инструменты минимизации Javascript делают больше, чем просто уменьшают размер. Например, закрывающий компилятор Google также пытается улучшить производительность кода, встраивая функции и выполняя другие анализы. Но основной целью минимизации Javascript обычно является уменьшение размера файла.
Я также понимаю, что есть и другие причины, по которым вы можете захотеть уменьшить производительность, например, запутывание кода. Но опять же, эта причина обычно не подчеркивается так сильно, как увеличение производительности и уменьшение размера файла. Например, Closure Compiler объявляется не как средство запутывания, а как средство уменьшения размера кода и средство повышения скорости загрузки.
Итак, какую производительность вы действительно получаете от минимизации Javascript / HTML, когда уже значительно уменьшаете размер файла с помощью сжатия gzip?
источник
Minification + gzip обычно дает лучшие результаты, потому что gzip - это общий алгоритм, специально не адаптированный к тому или иному вводу, в то время как minificator знает о его содержимом и может выполнять работу, которую не может выполнить общий алгоритм сжатия. Он также может позволить себе быть с потерями (подумайте: полностью исключите комментарии и пробелы - это 100% сжатие для этих данных, как вы можете победить это?), В то время как обычное сжатие не может.
источник
Возможно, вы не получите слишком большого выигрыша в производительности, но все равно уменьшите использование полосы пропускания. Если вы сможете сократить свои файлы js (и css) на несколько килобайт за счет минимизации (и использования css-спрайтов для уменьшения количества запросов) и обслуживаете 1000 пользователей в день, через месяц вы значительно сократите пропускную способность.
источник
Самая дорогая вещь, которую вы делаете в веб-приложении, - это отправлять сообщения по проводам. Отправка меньшего количества материала по сети почти всегда является чистым выигрышем, если вы платите в циклах процессора.
Кроме того, у меня нет ничего научного, чтобы поддержать это, но я ожидаю, что инструменты минимизации могут, вероятно, сжимать javascript лучше, чем gzip, если ни по какой другой причине инструменты минимизации не зависят от предметной области и могут быть настроены для лучшего сжатия javascript, тогда как gzip является универсальным инструментом и пойдет на компромисс в середине.
источник