Comprendre les sessions en profondeur
Bonjour à vous,
Ma question peut paraître étrange pour certains, mais je tente de comprendre un peu mieux le fonctionnement des sessions au niveau du stockage des données sur le serveur.
Bien que j'ai toujours utilisé les sessions sans vraiment savoir comment elles fonctionnaient (en dehors du principe), aujourd'hui je comprends comment et où les données sont stockées, et donc comment elles peuvent véhiculer à travers les différentes pages.
Ce que je comprends beaucoup moins, c'est pourquoi le fichier de session est ré-écrit à chaque actualisation de la page, et ce même si les variables de session n'ont pas été modifiées.
Je donne un exemple:
Code:
1 2 3 4 5 6 7 8 9
| <?php
session_start();
if(isset($_SESSION["id"])){
// si la variable session id existe
}
else{
$_SESSION["id"]=true;
}
?> |
Imaginons que ma session a comme SESSID 69h9rfsaqks9tgsf3tc10vrm53, le fichier qui contient les variables est stocké dans /var/lib/php5/sess_69h9rfsaqks9tgsd3tc10vrm53 (sous GNU/Linux). Lorsque j'affiche la page pour la première fois, la variable session id, qui n'existe pas, est stocké dans le fichier. Si j'actualise ma page, le fichier est ré-écrit avec les même valeur. Pourquoi, si aucune modification n'a été faite.
Une petite explication est la bienvenue.
Merci d'avance.