Compresser facilement du JSON en PHP

compression_json

Aujourd'hui j'ai été amené à compresser du JSON en PHP afin de gagner de la bande passante sur mon serveur Web.

Pour cela, il suffit d'ajouter une compression GZIP dans votre code PHP afin de compresser automatiquement votre JSON.

Voici le code, vous verrez c'est tout simple:

//On recupere les données
$data = get_data();

//On active le buffer de sortie via gzhandler
ob_start('ob_gzhandler');

//On envoie le résultat normalement
echo json_encode($data);

Sans compression GZIP j'avais le header HTTP suivant:

Content-Length    500800
Content-Type      application/json

Et avec la compression j'obtiens cela:

Content-Encoding  gzip
Vary              Accept-Encoding
Content-Length    15922
Content-Type      application/json

C'est donc super performant, d'autant plus que la majorité des navigateurs supporte la compression GZIP nativement :)

Leave a Reply

Your email address will not be published. Required fields are marked *