Стиснення зменшує час відгуку за рахунок зменшення розміру відповіді HTTP. Gzip - найпопулярніший та найефективніший метод стиснення, який зараз доступний, і загалом зменшує розмір відповіді приблизно на 70%.
У 2009 році 90% інтернет-трафіку здійснювалося через браузери, які підтримували. Gzip. Сьогодні:
Усі сучасні браузери підтримують і автоматично узгоджують стиснення GZIP для всіх запитів HTTP: наша робота полягає в тому, щоб забезпечити належну настройку сервера для обслуговування стисненого ресурсу на запит клієнта.
На сервері на базі Apache це можна зробити за допомогою файлу `.htaccess`:
# BEGIN GZIP AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript # END GZIP
Це, по суті, список типів MIME, до яких тоді застосовуватиметься gzipping. Не соромтеся змінювати список усіх текстових ресурсів, які ви обслуговуєте.
Проект HTML5 Boilerplate пропонує конфігурації серверів для всіх популярних серверів. Це його версія для .htaccess
AddOutputFilterByType DEFLATE "application/atom+xml" \ "application/javascript" \ "application/json" \ "application/ld+json" \ "application/manifest+json" \ "application/rdf+xml" \ "application/rss+xml" \ "application/schema+json" \ "application/vnd.geo+json" \ "application/vnd.ms-fontobject" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "image/bmp.webp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "image/x-icon" \ "text/cache-manifest" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml"