Maison > Article > développement back-end > Introduction comparative à SESSION et COOKIE sous PHP
Vous rencontrerez de nombreux problèmes de mise en cache. Cet article comparera SESSION et COOKIE.
[Cookie]
1. Définition->Existe dans le navigateur Même si le navigateur est fermé ou la connexion est interrompue, l'utilisateur peut toujours conserver l'état des données
2. Cycle de vie -> Par défaut, lors de la session du navigateur (les données sont enregistrées en mémoire), la période de validité est définie et les données sont enregistrées sur le disque dur
3. chemin -> Vous devez définir le chemin d'accès effectif, le chemin par défaut est le chemin actuel, si tous les chemins doivent définir le chemin sur '/' ;
Nom de domaine valide->Définissez le nom de domaine. domaine, indiquant que le chemin sous le nom de domaine est valide et que la valeur par défaut est le chemin actuel du nom de domaine actuel ;
5. Suppression des cookies-> -1);
6. Quand le cookie prend-il effet-> Après la fonction setcookie(), le client sera averti. Le client envoie une valeur de cookie s'il ne rafraîchit pas ou ne parcourt pas la page suivante. , le client ne renverra pas le cookie ;
7. Nombre de cookies -> Un navigateur prend en charge jusqu'à 30 cookies, et chacun La capacité des cookies ne peut pas dépasser 4 Ko, et le nombre de cookies définis pour chaque site Web ne peut pas être utilisé. dépasser 20 ;
【Session】
1. Comment utiliser -> Initialiser avec session_start() avant utilisation, créer ou charger un session_id ;
2. -> À partir du moment où un utilisateur accède à la page jusqu'au moment où il se déconnecte du site Web, un ID de SESSION sera automatiquement généré pour représenter la relation de l'utilisateur actuel avec les autres utilisateurs ;
3. -> Lorsque la connexion n'est pas déconnectée, les données peuvent être transférées entre différentes pages
4. Dans l'environnement PHP, les données de session sont stockées-> Ici, c'est plus compliqué. , cela signifie configurer le chemin de stockage en fonction du fichier de configuration. Selon la commande id, le nom du fichier est stocké sous forme de fichier unique ou stocké selon les niveaux :
[plain] voir la copie simple
Où sont stockées les données de SESSION ?
Bien sûr, c'est côté serveur, mais il n'est pas enregistré en mémoire, mais dans un fichier ou une base de données.
Par défaut, la méthode de sauvegarde de SESSION définie dans PHP.ini est celle des fichiers (session.save_handler = files), c'est-à-dire que la lecture et l'écriture des fichiers sont utilisées pour sauvegarder les données de SESSION, et le répertoire dans lequel les fichiers de SESSION sont enregistrés est déterminé par session.save_path Spécifiez que le nom du fichier est préfixé par sess_, suivi de l'ID de SESSION, tel que : sess_c72665af28a8b14c0fe11afe3b59b51b. Les données du fichier sont les données SESSION après sérialisation.
Si le nombre de visites est important, davantage de fichiers SESSION peuvent être générés. Dans ce cas, vous pouvez configurer un répertoire hiérarchique pour enregistrer les fichiers SESSION, ce qui améliorera considérablement l'efficacité. session.save_path="N;/save_path ", N est le nombre de niveaux hiérarchiques, save_path est le répertoire de départ.
Lors de l'écriture des données SESSION, PHP obtiendra le SESSION_ID du client, puis utilisera cet ID SESSION pour trouver le fichier SESSION correspondant dans le répertoire de sauvegarde du fichier SESSION spécifié. S'il n'existe pas, créez-le et. enfin stocker les données. Après la sérialisation, écrivez dans le fichier [3]. La lecture des données SESSION est un processus opérationnel similaire. Les données lues doivent être désérialisées et la variable SESSION correspondante est générée.
Remarques :
1. Il ne peut y avoir de sortie avant d'utiliser la fonction session_start()
2. Mais le délai d'expiration par défaut des cookies avec des identifiants de session est au niveau de la session. C'est-à-dire que si l'utilisateur ferme le navigateur, l'identifiant de session stocké sur le client sera perdu, mais les données de session stockées sur le serveur ne seront pas supprimées immédiatement. Depuis le client, c'est-à-dire le navigateur, il semble que la session a été supprimée (car nous avons perdu l'ID de session et ne pouvons pas trouver les données de session d'origine).
Cet article explique la différence entre SESSION et COOKIE Pour plus de contenu connexe, veuillez faire attention au site Web php chinois.
Recommandations associées :
Découvrez comment obtenir l'adresse IP du client en php
Explication détaillée de l'utilisation de Session dans php
Introduction aux différences entre die(), exit() et return en php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!