Quoi | COOKIES | SESSION | FICHIERS | BASE |
Usage : | N° de session | User ID, Statut/Rôle/Droits, en cours(ie panier) | Log technique / statistiques | Données stables, partagées |
Stocké : | Navigateur | Fichier du serveur WEB | Serveur (OS) | Serveur (SGBD) |
Combien : | 1 information | N informations (variables) | N informations (Lignes) | N informations structurées |
Concerné : | 1 internaute | 1 internaute | le développeur | N internautes |
Durée : | paramétrable | visite (session du navigateur) | indéfini | indéfini |
Contrôle de persistance : | peut être effacé par l'utilisateur | Ménage par le serveur | Par le programme (!) | Par le gestionnaire de DB |
Restriction : | Peut être "disable" | dépend des cookies et/ou visible dans l'URL | Pas de gestion de droits entre internautes | La structure et les droits doivent être analysées |
Comment : | dans le Header HTML | selon directives php.ini : onlycookies use_trans_sid(=URL) |
commandes à l'OS | commandes à la BD |
Performance : | Tous les coockies à destination de ce host sont systématiquements renvoyés ! | A part le cookie, les infos sont stockées sur le serveur par session. Automatique mais peut être hacké ! | En général écriture de log en "append". Sinon lecture séquentielle de tout le fichier ! |
Requêtes SQL, index, modèle de donnée à optimiser |
Utiliser | COOKIES | SESSION | FICHIERS | BASE |
INITI : | par l'écriture (dans le header) | session_start() tout au début | $descr=fopen( $nom, { 'w'|'r'|'a'} ); | $cdb=mysql_connect( $host, $user, $pswd ); mysql_select_db( $base, $cdb ); |
ECRITURE : | setcookies('nom', $valeur, $T[s]); // $T=time()+$N*60; |
$_SESSION[ 'nom' ] = $x; // $x de tout type ! |
fwrite( $descr, $donnee ); // avec \n |
mysql_querry( $CmdSQLdUPDATE, [$db] ); |
LECTURE : | $_COOKIES[ 'nom' ] | $x = $_SESSION[ 'nom' ] | fread( $descr, $taille);
|
mysql_querry( $CmdSQLde QUERRY, [$db] ); mysql_fetch_xxxx(); |
en une seule opération : file_get_content( $nom ); |