Antwortkomprimierung einschalten
- Matt
Bei einer API, die größere JSON-Antworten liefert, ist Komprimierung der Gewinn mit dem besten Verhältnis von Aufwand zu Wirkung:
builder.Services.AddResponseCompression(o =>
{
o.EnableForHttps = true;
o.Providers.Add<BrotliCompressionProvider>();
o.Providers.Add<GzipCompressionProvider>();
});
app.UseResponseCompression();
Die Reihenfolge zählt: UseResponseCompression gehört weit nach vorn in die Pipeline. Bei einer Antwort mit 400 KB JSON blieben davon knapp 30 KB übrig.
EnableForHttps ist bewusst standardmäßig aus, weil Komprimierung über TLS unter bestimmten Bedingungen Angriffe erleichtert. Bei einer API ohne Cookies und ohne fremde Eingaben in der Antwort ist das Risiko gering, bei einer klassischen Webanwendung mit Formularen sollte man es sich überlegen.