Возвращайте до 18% с пополнений рекламы
  • Все популярные рекламные сети в одном окне
  • Рекламные инструменты — бесплатно
  • Доступ к конструктору лендингов и WebApp-приложений
  • Закрывающие документы точно в срок
ring svg
  1. Главная >
  2. Блог >
  3. Разница между минификацией и Gzip-сжатием

Разница между минификацией и Gzip-сжатием

Обе эти программы вы используете по отношению к ресурсам на вашем веб-сайте (таким как .css files и .js files). Обе эти программы уменьшают размер файла, делая процесс передачи между сервером и браузером более эффективным. Так как, это улучшает производительность. Интернет – это скоростная основа всемирной паутины и сжатый размер файла помогает этому.

Но эти два понятия совершенно разнятся. Если вы еще не знали об этом, эту разницу стоит понимать.

Минификация удаляет пробелы, комментарии, ненужные запятые, уменьшает длину шестигранного кода…

… и тому подобное. Файл остается с совершенно правильным кодом. Вам бы не хотелось пытаться прочитать его или работать с ним, но и, тем не менее, он не нарушает никаких правил. Браузер может прочитать его и использовать, как будто это исходный файл.

Минификация создает новый файл, который вы в конечном счете используете. Например, вы создаете документ style.css, с которым вы работаете. Затем вы можете уменьшить его в style.min.css.

Gzip-сжатие находит все повторяющиеся строки и заменяет их указателями на первом образце этой строки.

Юлия Эванс создала замечательный способ для понимания этой системы (см ее статью и видео). Взгляните на первый абзац стиха:

Once upon a midnight dreary, while I {pon} dered weak an {d wea}{ry,}
Over many{ a }quaint{ and }curious volume of forgotten lore,
W{hile I }nodded, n{ear}ly napping, su{dde}n{ly }th{ere} ca{me }a t{apping,}
As{ of }so{me o}ne gent{ly }r{apping, }{rapping} at my chamb{er }door.
‘Tis{ some }visitor,’{ I }mu{tte}r{ed, }t{apping at my chamber door} –
O{nly th}is,{ and }no{thi}{ng }m{ore}.

Текст в фигурных скобках был определен Gzip, как повторяющийся. Таким образом, они будут заменены указателями, которые занимают меньше места, чем текст сам по себе.

Gzip может быть невероятно эффективен при сжатии размера файла, особенно с кодом, так как код может повторяться множество раз. Представьте себе, как много образцов <div есть в HTML файле или { в файле CSS.

Вы можете создать сжатую версию файла (т.е. style.css.zip), но вы вряд ли когда-либо делали это, и браузер не знает, что с ним делать.

В Интернете, gzip-сжатие осуществляется непосредственно вашим сервером. Это делается в настройках сервера. После того, как вы настроите его один раз, gzipping работает автоматически, и не нужно делать никакой текущей работы. Сервер сжимает файл и отправляет его по сети. Браузер получает файл и распаковывает его, прежде чем использовать. Я никогда не слышал, чтобы кто-нибудь упомянул о накладных расходах архивирования и распаковки, так что я просто не принимаю это в расчет, да и выгоды намного перевешивают издержки.

Вот как можно включить его на серверах Apache, где он использует модуль mod_deflate. И H5BP предлагает серверные конфигурации для всех популярных серверов, которые включают gzip-сжатие.

Пример

Мы будем использовать файл CSS из Bootstrap, так как это, пример всеобщего достояния.

1compressing

Вы будете экономить около 17% минифицируя CSS, 85% используя gzip-сжатие или 86%, если вы будете пользоваться обоими.

Вот идеальная ситуация при проверке, когда все работает, от DevTools:

2 ideal

Gzip-сжатие гораздо более эффективно. А использование обоих – это самый идеальный вариант.

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

Существуют также некоторые свидетельства того, что браузеры могут быстрее читать и анализировать уменьшенный файл:

Как и ожидалось, минификация помогает разобрать и загрузить матириал в дополнение ко времени передачи через сеть. Это, вероятно, из-за отсутствия комментриев и лишних пробелов.

Microsoft также начинает оптимизировать свои анализаторы для него:

Таким образом, в Windows 10 и Microsoft Edge, мы добавили новые быстрые пути, улучшили встраивание и оптимизировали некоторые мотоды в компиляторе JIT Chakra, чтобы гарантировать, что уменьшенный код работает так же быстро, если не быстрее, чем не-уменьшенные версии кода. С учетом этих изменений, производительность отдельных моделей кода уменьшается с помощью UglifyJS, который мы испытали, улучшили на 20-50%.

Кэширование ресурсов также связано с этой темой, так как нет ничего быстрее браузера, которому вообще не приходится требовать ресурсов! Существует много информации об этом в Интернете (или в книгах), но мы можем просто сделать пост об этом в ближайшее время с добавлением некоторых хитростей.

blog comments powered by Disqus
Возвращайте до 18% с пополнений рекламы
  • Все популярные рекламные сети в одном окне
  • Рекламные инструменты — бесплатно
  • Доступ к конструктору лендингов и WebApp-приложений
  • Закрывающие документы точно в срок
ring svg
copyright © 2011–2024 Все права защищены
Запрещено любое копирование материалов ресурса без письменного согласия владельца — ООО "Феникс-Маркетинг". ИНН:7725812838, КПП:772501001, ОГРН: 513774619323915280, Москва, ул. Ленинская слобода, д. 19, стр. 1, этаж/пом 3/25

ООО «Феникс-Маркетинг» — IT-компания с многолетним опытом работы, разрабатывающая инновационные решения для управления процессом лидогенерации (пост-клик маркетинг). Разработанное нами технологическое программное решение LPGENERATOR позволяет создавать целевые страницы в визуальном редакторе и управлять заявками (лидами) в CRM-системе в целях проведения эффективных, высококонверсионных рекламных кампаний