# Wat is gzip en hoe wordt deze tool gebruikt?

De gzip-software voor gegevenscompressie is platformonafhankelijk en wordt veel gebruikt in webontwikkeling en webprojecten als standaardoplossing voor compressie. De software kan eenvoudig worden geactiveerd en bediend via de opdrachtregel, waardoor u opslagruimte kunt besparen en de systeemprestaties kunt verbeteren.

## Hoe werkt gzip?

Gzip — kort voor ‘GNU zip’ — is gebaseerd op het vrij beschikbare Deflate-algoritme, dat de LZ77 (Lempel-Ziv 77) compressiemethode combineert met Huffman-codering. Met behulp van deze technieken scannen gzip-bestanden naar dubbele gegevensreeksen. Als het programma deze **terugkerende reeksen** tegenkomt, vervangt het ze door een link naar de reeks die als eerste verschijnt. De lengte van deze reeksen is meestal **beperkt tot 32.000 bytes**. Als een tekenreeks niet voorkomt in de voorgaande 32.000 bytes, wordt deze (zonder compressie) opgeslagen in het gzip-bestand met de extensie .gz.

De procedure is beperkt tot individuele bestanden, daarom is het **pack-programma** tar nodig om zogenaamde tarball-archieven te maken met de extensies: *.tar.gz* of *.tgz*. Standaard wordt het originele bestand na `gzip` verwijderd (wanneer het rechtstreeks op een bestand wordt toegepast). U kunt dit automatische gedrag echter uitschakelen met behulp van de optionele `-k` parameter. Om gecomprimeerde bestanden te decomprimeren, kunt u het hulpprogramma `gunzip` of het juiste `gzip` commando gebruiken.

## Overzicht van gzip-syntaxis en commando’s

Hoewel er grafische gebruikersinterfaces beschikbaar zijn voor verschillende platforms, is het natuurlijk ook mogelijk om `gzip` via commando’s in de terminal of opdrachtprompt te gebruiken. Zelfs beginners zullen dit gemakkelijk kunnen, aangezien `gzip` een **klassieke opdrachtregelprogramma** is dat voor dit soort gebruik is geoptimaliseerd. De algemene syntaxis heeft de volgende vorm:

```bash
gzip option file(s)
```

Het specificeren van opties is niet vereist. Als het veld leeg wordt gelaten, gebruikt `gzip` gewoon de standaardinstellingen. Het volgende eenvoudige commando is bijvoorbeeld voldoende om een gecomprimeerde versie van het tekstbestand `example.txt` te maken:

```bash
gzip example.txt
```

Om bestanden later uit te pakken of om instructies op te geven voor het **compressieniveau**, **de opslaglocatie** of hoe het **originele bestand** moet worden behandeld, moeten de opdrachten de juiste specificaties bevatten. De volgende tabel geeft een overzicht van de `gzip` belangrijkste opdrachten:

<table>
  <thead>
    <tr>
      <th>Optie</th>
      <th>Beschrijving</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`-1` … `-9`</td>
      <td>Stelt het compressieniveau in (1–9), waarbij `1` het snelste en minst gecomprimeerde resultaat oplevert en `9` de beste maar traagste compressie biedt; het standaardniveau is `5`</td>
    </tr>
    <tr>
      <td>`-r`</td>
      <td>Scant de map (inclusief alle submappen) recursief en comprimeert of decomprimeert alle bestanden die deze bevat</td>
    </tr>
    <tr>
      <td>`-f`</td>
      <td>Forceert gzip-compressie en overschrijft indien nodig bestaande bestanden met dezelfde naam.</td>
    </tr>
    <tr>
      <td>`-d`</td>
      <td>Decomprimeert het geselecteerde bestand naar de huidige map</td>
    </tr>
    <tr>
      <td>`-k`</td>
      <td>Voorkomt dat het originele bestand wordt verwijderd</td>
    </tr>
    <tr>
      <td>`-l`</td>
      <td>Geeft informatie weer, zoals de compressieverhouding van een gecomprimeerd bestand.</td>
    </tr>
    <tr>
      <td>`-c`</td>
      <td>Voert het gecomprimeerde bestand uit naar de standaarduitvoer (meestal het scherm dat is aangesloten op de opdrachtregel)</td>
    </tr>
    <tr>
      <td>`-q`</td>
      <td>Onderdrukt alle gzip-berichten</td>
    </tr>
    <tr>
      <td>`-t`</td>
      <td>Test de integriteit van het gecomprimeerde bestand.</td>
    </tr>
    <tr>
      <td>`-h`</td>
      <td>Geeft een overzicht van alle beschikbare opties</td>
    </tr>
  </tbody>
</table>

## Gebruiksscenario’s voor gzip-compressie

Tegenwoordig is `gzip` vrijwel platformonafhankelijk en kan het naar behoefte worden uitgebreid, zolang het gekozen project voldoet aan de GPL-licentie. Op **Linux-systemen** is het compressieprogramma meestal vooraf geïnstalleerd of direct beschikbaar via de pakketbeheerder. De officiële [gzip-website](https://www.gzip.org/ "gzip.org – the official website of the compression program") biedt ook versies voor **macOS en Windows**. U kunt de software op deze systemen op elk moment gebruiken om **opslagruimte te besparen**.

Een ander belangrijk toepassingsgebied is het **web**. Webservers zoals Apache ondersteunen al jaren gzip-compressie en moderne browsers kunnen gecomprimeerde bestanden interpreteren en **decomprimeren tijdens het weergeven van websites**. Hier komt `gzip` volledig tot zijn recht, want wanneer deze functie is ingeschakeld, comprimeert de webserver automatisch zowel geüploade inhoud als dynamisch gegenereerde website-elementen op de server. Dit kan **de laadtijden van websites** aanzienlijk **verkorten** als onderdeel van basisoptimalisatie van websites. Ondertussen voert de browser de decompressie op de achtergrond uit zonder extra bandbreedte te verbruiken. Deze prestatieverbetering komt vooral **mobiele gebruikers** ten goede en kan indirect de positie van uw website in zoekmachines verbeteren.

## Hoe u gzip-compressie kunt gebruiken voor uw Apache-webproject

Webservers bieden doorgaans gzip-compressie aan als een module die eenvoudigweg moet worden **ingeschakeld**. Tegenwoordig activeren veel webhostingproviders deze functie standaard, terwijl dat in het verleden niet altijd het geval was. Als u niet zeker weet of gzip-compressie door uw hostingprovider wordt ondersteund, kunt u rechtstreeks contact met hen opnemen of zelf een **handmatige controle** uitvoeren.

Op een Apache-webserver kunt u de module-instellingen controleren met behulp van een eenvoudige `phpinfo()` voer. De `HTTP_ACCEPT_ENCODING` -invoer toont u welke compressiemethode is geselecteerd — of dat er überhaupt compressie is ingeschakeld. Als `gzip` beschikbaar is, hebt u drie verschillende opties om deze compressietool naar uw behoeften te gebruiken.

### Optie 1: Schakel gzip-compressie in het .htaccess-bestand in

Met behulp van het .htaccess-bestand kunt u map-specifieke instellingen definiëren en uw webserver in realtime configureren. Dit werkt omdat het configuratiebestand, dat zich doorgaans in de **hoofdmap**bevindt \*\*,\*\*automatisch **wordt**gelezen bij elk verzoek dat de server bereikt. Bij sommige webhostingproviders kan het `.htaccess` zich echter in een andere map bevinden, verborgen zijn of zelfs beperkt toegankelijk zijn. In dat geval kunt u alleen contact opnemen met uw hostingprovider en **om toegang vragen**. Als u wijzigingen kunt aanbrengen, kunt u gzip-compressie inschakelen met behulp van de module voor het Deflate-algoritme (`mod_deflate`) door de volgende code toe te voegen aan het `.htaccess` -bestand:

```txt
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
```

Tip Je hebt ook toestemming van je webhost nodig om de modules `mod_gzip` en `mod_deflate` te gebruiken.

### Optie 2: gzip-compressie inschakelen via PHP

Het is mogelijk om gzip-compressie te activeren met behulp van een eenvoudige PHP-instructie. Het nadeel is dat de code **afzonderlijk aan elk PHP-bestand** moet worden toegevoegd. Gebruik deze optie daarom alleen als u niet over de benodigde rechten beschikt om het `.htaccess` bestand te bewerken. De regel code die aan het begin van elk bestand moet worden geplaatst, is als volgt:

```php
<?php
ob_start("ob_gzhandler");
?>
```

### Optie 3: gzip implementeren via plug-in

Naast deze twee handmatige oplossingen is er ook een variant die slechts minimale inspanning vereist om in te stellen: het activeren van de gzip-compressie met behulp van een **plug-in** voor het **contentmanagementsysteem** dat u gebruikt. Dergelijke handige extensies, die u binnen enkele minuten kunt integreren en aanpassen aan uw behoeften, zijn voornamelijk bedoeld voor CMS’en zoals WordPress, die zijn gebaseerd op PHP. De volgende lijst bevat drie van de populairste plug-ins voor de weblogsoftware:

- **[W3 Total Cache](https://nl.wordpress.org/plugins/w3-total-cache/ "Web performance optimization for WordPress projects: W3 Total Cache")**: De WordPress-plug-in W3 Total Cache belooft een merkbaar verbeterde websiteprestatie. Naast verschillende cachingmechanismen en speciale mobiele ondersteuning bevat deze SEO- en gebruiksvriendelijkheidssuite ook opties om gzip-compressie in te schakelen.
- **[WP Rocket](https://wp-rocket.me/ "WP Rocket website")**: WP Rocket is een andere klassieke WordPress-cachingplugin. Het is eenvoudig te gebruiken en activeert vanaf het begin alle belangrijke prestatieoptimalisatiefuncties, waaronder gzip-compressie.
- **[WP Performance Score Booster](https://wordpress.org/plugins/wp-performance-score-booster/ "WordPress.org: WP Performance Score Booster Download")**: De WP Performance Score Booster-plug-in heeft al meer dan 10.000 actieve installaties. Met deze plug-in kunt u eenvoudig gzip inschakelen en de inhoud van uw webproject efficiënt comprimeren, inclusief tekst, HTML, JavaScript, CSS, XML en meer.

## Hoe gzip stap voor stap configureren op een NGINX-webserver

Als u uw website-inhoud levert via een NGINX -webserver, kunt u ook gebruikmaken van gzip-compressie om de laadtijd van uw project te verbeteren. Hiervoor hoeft u alleen maar de `ngx_http_gzip_module` te configureren. Standaard is de `gzip`, die de compressieservice in- of uitschakelt, uitgeschakeld.

Om deze instelling te wijzigen, opent u het hoofdconfiguratiebestand `nginx.conf` en zoekt u de `gzip`. Vervang `gzip off` door `gzip on`. In de volgende tabel worden het doel en de opties van enkele aanvullende richtlijnen voor het configureren van gzip-compressie in NGINX uitgelegd:

<table>
  <thead>
    <tr>
      <th>Richtlijn</th>
      <th>Syntaxis</th>
      <th>Standaardinstelling</th>
      <th>Beschrijving</th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`gzip_buffers`</td>
      <td>`gzip_buffers number size;`</td>
      <td>`gzip_buffers 32 4k` \\</td>
      <td>`16 8k;`</td>
      <td>Bepaalt het aantal en de grootte van de buffers die tijdens het compressieproces worden gebruikt</td>
    </tr>
    <tr>
      <td>`gzip_comp_level`</td>
      <td>`gzip_comp_level level;`</td>
      <td>`gzip_comp_level 1;`</td>
      <td>Stelt het compressieniveau in; geldige waarden: 1–9</td>
      <td></td>
    </tr>
    <tr>
      <td>`gzip_min_length`</td>
      <td>`gzip_min_length length;`</td>
      <td>`gzip_min_length 20;`</td>
      <td>Specificeert de minimale lengte (in bytes) voor een bestand dat moet worden gecomprimeerd.</td>
      <td></td>
    </tr>
    <tr>
      <td>`gzip_http_version`</td>
      <td>`gzip_http_version version;`</td>
      <td>`gzip_http_version 1.1;`</td>
      <td>Specificeert de minimale HTTP-versie die vereist is voor gecomprimeerde reacties.</td>
      <td></td>
    </tr>
    <tr>
      <td>`gzip_types`</td>
      <td>`gzip_types content-type;`</td>
      <td>`gzip_types text/html;`</td>
      <td>Bepaalt welke inhoudstypen moeten worden gecomprimeerd (bijv. CSS, JSON, XML)</td>
      <td></td>
    </tr>
  </tbody>
</table>

## Hoe gzip-compressie te testen

Zodra u gzip-compressie voor uw website hebt geconfigureerd, kunt u verschillende tools gebruiken om te controleren of deze correct werkt en of uw webserver **gecomprimeerde inhoud** levert in reactie op verzoeken van klanten. Een van de meest aanbevolen tools hiervoor is Google PageSpeed Insights. Voer gewoon een willekeurige pagina van uw site in en de tool analyseert automatisch de inhoud ervan en geeft een rapport over de sterke en zwakke punten van de pagina. Onder de resultaten vindt u informatie over **of gzip-compressie is ingeschakeld**.

Je kunt ook een snelle gzip-test uitvoeren met behulp van de HTTP-compressietest op [WhatsMyIP.org](https://www.whatsmyip.org/http-compression-test/ "HTTP Compression Test – WhatsMyIP.org").


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/server/knowhow/wat-is-gzip-en-wat-zijn-de-voordelen-van-het-programma/](https://www.ionos.com/nl-be/digitalguide/server/knowhow/wat-is-gzip-en-wat-zijn-de-voordelen-van-het-programma/) for AI/LLM consumption.