HTTP-compressie is een techniek waarmee de grootte van webpagina’s en andere bronnen die via het internet worden verzonden, wordt verkleind om de prestaties te verbeteren. Dit wordt gedaan door de gegevens te comprimeren voordat ze worden verzonden en deze later weer te decomprimeren wanneer ze bij de ontvanger aankomen.
HTTP-compressie wordt normaal gesproken al automatisch door webbrowsers en servers gebruikt, zonder dat gebruikers er zich van bewust hoeven te zijn. Er zijn verschillende algoritmes voor compressie beschikbaar, zoals gzip, deflate en brotli, die worden ondersteund door webbrowsers en servers. Wanneer een webbrowser een HTTP-verzoek naar een server stuurt, geeft het aan dat het compressie ondersteunt en de server antwoordt of het een gecomprimeerde versie van de gevraagde bron kan leveren.
Zodra de server het verzoek ontvangt, zal het kijken of de gevraagde bron eerder is gecomprimeerd en zo ja, welk compressie-algoritme daarvoor is gebruikt. Als de bron nog niet is gecomprimeerd maar wel geschikt is voor compressie, maakt de server een gecomprimeerde versie van de bron en verstuurt deze dan naar de webbrowser. De webbrowser decomprimeert vervolgens de ontvangen gegevens en toont de inhoud van de webpagina aan de gebruiker.
Over het algemeen resulteert HTTP-compressie in een snellere laadtijd van de webpagina’s, omdat de overgedragen gegevens aanzienlijk worden verminderd. Dit is vooral gunstig voor mobiele apparaten en gebruikers met een trage internetverbinding, maar kan ook helpen om de belasting op servers en netwerken te verminderen.