Brotli

Спробував Brotli. Ох бля. Кльова штука. Але.

Мені найбільше подобається те, що зазвичай називають pre-compressed static pages, або якще кажуть gzip_static. Це коли якщо на сервері поруч з якимось «article.html» лежить «article.html.gz», і якщо браузер за запитом «article.html» в заголовках передав щось типу «Accept-Encoding: gzip», і ось тоді веб-сервер йому передасть вміст «article.html.gz» в тому виді, який він є. Тобто коли браузер отримає стиснуту версію, і сервер не витратить зайвий час на стискання. Реально, це кльово.

Мінуси очевидні: треба завчасно підготувати стиснуту версію та підтримувати її актуальною. Фігня. Потрібен лише один рядок коду, «find | xargs | gzip».

Сама ця назва gzip_static — це назва модуля Nginx; для Apache ще є content negotiation, який робить це і набагато більше. Так чи інакше, щоб швидко налаштувати сервер віддавати попередньо підготований gzip, не треба робити щось незвичне, дивне. Це дуже типова конфігурація.

І тепер про Brotli. Лежать у нас поруч «article.html», «article.html.gz» для старих браузерів та новенький «article.html.br». Що далі? А далі треба їбатися. Що у випадку Apache, що у випадку Nginx. Наприклад, ось це мені не допомогло. Все ще їбуся.

А стискає воно дійсно класно.

А ще варто замінити old good gzip на Zopfli, але це окрема історія і вона варта окремого поста.