Мы подаем наше приложение React с сервера NodeJS Express с использованием сжатия GZIP.
// app.js
app.get('*.js', (req, res, next) => {
req.url = req.url + '.gz'; // eslint-disable-line
res.set('Content-Encoding', 'gzip');
next();
});
// webpack config
new CompressionPlugin({
algorithm: 'gzip',
test: /\.js$|\.css$|\.html$/,
threshold: 10240,
minRatio: 0.8,
}),
Мы используем Heroku для наших развертываний и Cloudfare в качестве обратного прокси-сервера.Когда я проверяю вкладку сети Chrome DevTools, я вижу, что запросы поступают через сжатый Brotli
access-control-allow-credentials: ---
access-control-allow-headers: ---
access-control-allow-methods: ---
access-control-allow-origin: ---
access-control-expose-headers: ---
access-control-max-age: ---
cf-ray: ---
content-encoding: br
content-type: text/plain
date: Wed, 27 Feb 2019 22:46:29 GMT
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
status: 200
via: 1.1 vegur
Кто-нибудь знает, если это какое-то прогрессивное улучшение со стороны Cloudflare, которое обновляетсжатие до br
с gzip
для поддерживаемых клиентов?Я вижу, что мы можем включить Brotli через Cloudflare dashboard , но мы не включили это.Также я понимаю, что если ресурсы уже сжаты gzip, Cloudflare будет уважать это.Любые идеи о том, почему сжатие br
вместо gzip
?