Apprendre et créer
AccueilProgrammationCréer une API PHP et javascriptRéduire le volume de la réponse serveur PHP

Réduire le volume de la réponse serveur PHP

Le 14-01-2020...

Avec la mise en place d'un listener, il faut dire que le gros du travail d'optimisation a déjà été fait.

Mais il y a tout de même un autre élément sur lequel on peut agir, c'est la taille de la réponse envoyée par le serveur. Plus sa taille sera réduite moins on perdra de temps et de ressources pour la traiter.

Pour cela il faut deux choses :

  • La première côté serveur, après avoir défini les données demandées par la requête, il faut les filtrer pour ne garder que ce qui varie.
  • Et deuxièmement côté javascript, on pourra donc traiter les données reçues comme étant les seuls changements à prendre en compte.

Voici les fonctions très simples que j'ai ecrites pour cela :

Côté PHP :

function minimize($dataToSend) {
    $lastDataSent = $_SESSION['lastDataSent'];
    foreach( $dataToSend as $key => $value ) {
        if( !isset($lastDataSent[$key]) OR $lastDataSent[$key] != $value ) {
            $miniData[$key] = $value;
        }
    }
    return $miniData ?? null;
}

Côté Javascript :

let response = xhr.responseText
for( let key in response ) {
    // traitement pour chaque response[key];
}

Voilà, ce code est vraiment minimal mais il permet potentiellement de faire de grosses économie sur les ressources utilisées ! Tout dépend du type de données qui transiteront.