кеширование бротли в динамическом режиме? Не, я понимаю, что он работает как фильтр, но может я чего упускаю? статический режим может буду рассматривать - но не сейчас
сделай кеш кей зависящий от accept-encoding
Мне бы тоже было интересно. Заодно насчёт статики: это что, нужно каким-то скриптом обходить на бэкенде всю статику и записывать рядом с файлами file.css file.js некие file.css.br и file.js.br? По смыслу, было бы неплохо в папке с кэшем приложения автоматом такое делать со всеми файлами кэша приложения...
А где об этом почитать?
я же правильно понимаю что файло приезжает от бэкенда, и надо его закешить (и сразу пожать в разные ворматы)? если да то https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_key
map $http_accept_encoding $cacheae { ~*(.*)br(.*) br; ~*(.*)gzip(.*) gzip; none none; "" none; default $http_accept_encoding; } примерно такую мапу и в cache_key добавить переменную $cacheae
Ага: то есть это если кешировать на уровне сервера. Спасибо, потом пристально разберусь! Но вот организационный момент: допустим, кэш вначале пуст, сайт обновили. Теперь при каждом запросе клиента — будет заново генериться новый сжатый кэш. Что увеличит время загрузки к клиенту. А можно ли как-то сделать (и делают ли так?), чтобы на уровне приложения хотя бы статика была заранее пожата и уложена куда следует? Может, неясно выражаюсь, но хорошо понимаю, что имею в виду )
Сохранил для дальнейших изысканий ) Псб!
можно, есть модуль ngx_http_brotli_static_module и есть директива brotli_static - она позовляет отдавать заранее пожатые фалы
> Сжимать файлы можно с помощью программы gzip или совместимой с ней. Желательно, чтобы дата и время модификации исходного и сжатого файлов совпадали. Ну вот они что по gzip'у, что по brotli пишут одно и то же: будут использованы заранее сжатые файлы. А кто их сожмёт, ни слова )
Обсуждают сегодня