Prefere brotli, pare de comprimir o que já está comprimido

OtherKlusterServices
Shipped
20 de agosto de 2026 às 22:46 UTC
Author
Kamo
Commit
3f36bd0

O middleware 'compress' compartilhado foi 'compress: {}', que é três Separe os padrões e nenhum deles é o que queremos. Traefik escolhe gzip sempre que o cliente o oferece, independentemente de A ordem que o cliente pediu. Medida contra api.kamocrm.com é Spring Boot e não comprime na sua própria origem: Aceitar-Encoding: gzip, deflate, br, zstd -> gzip 119 bytes Aceitar-codificação: br, gzip -> gzip 119 bytes Aceitar-codificação: br -> br 87 bytes A segunda linha é o achado: pedindo para brotli primeiramente ainda retornado gzip. Todos os navegadores enviam gzip, para que nada por trás desta cadeia nunca tenha recebeu brotli — cerca de 25% de cada resposta JSON de cada Java serviço, dado até um padrão de ordenação. Também comprimiu coisas que já estão comprimidas. /favicon/favicon-96x96.png é 12.763 bytes e voltou como 12.793 - maior, mais CPU compressor aqui e CPU descompressor no navegador, em cada pedido de imagem em cada site da cadeia. A máquina de temas já resolveu isso com uma lista de permissão (`theme-compress`); o mesmo PNG servido dali passa intocada. Isso traz a cadeia compartilhada para Linha. E comprimiu corpos muito pequenos para beneficiar: api.kamocrm.com 404 corpo é 99 bytes como identidade e 119 bytes gzipped. minResponseBodyBytes é agora definido em vez de assumido. A lista de autorizações é uma lista de autorizações em vez de uma lista de exclusões especificamente por causa do texto/evento-stream. Comprimir SSE tampões, que é a única coisa que um fluxo não deve fazer; uma lista de permissões exclui- a por construção. text/x-component está na lista de propósito — Next 16 prefets cada <Link> no viewport como RSC, 60-100 KB cada, e deixando-o desligado seria silenciosamente un-fix que para cada app que faz não comprimir na sua origem. RCR regenerados de v3.3 no mesmo commit, porque `codificações' Exigências de Traefik >= 3,2 e as DCR comprometidas foram geradas para lançamento pré-3.2 enquanto o binário em execução é v3.3. O campo teria foi PRUNED SILENTMENTE pelo servidor API, não rejeitado — cada aplicação em implance-services.yml passas --validate=false — para que isto tivesse olhado aplicada e nada mudou. Esquema diff verificado puramente aditivo: 88 campos adicionados, 0 removidos, mesmo 10 CRDs, mesmas versões, e `kubectl apply --dry-run=server` aceita todos os dez.

All changes

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços