Maison  >  Article  >  développement back-end  >  Quelle est la différence entre session et cookie en php ?

Quelle est la différence entre session et cookie en php ?

coldplay.xixi
coldplay.xixioriginal
2020-07-11 11:34:094032parcourir

La différence entre session et cookie en PHP est la suivante : 1. Le cookie est implémenté en étendant le protocole http, tandis que la session enregistre les informations sous une forme similaire à une table de hachage ; 2. Le cookie est enregistré sur le [client] ; , La session est enregistrée sur le [serveur].

Quelle est la différence entre session et cookie en php ?

La différence entre session et cookie en php est :

Plus précisément, le cookie est enregistré dans "Côté client" et la session est enregistrée du "côté serveur"

1. cookie est implémenté en étendant le protocole http

le cookie comprend principalement : Nom, valeur, délai d'expiration, chemin et domaine ;

Si le cookie ne définit pas de cycle de vie, il sera fermé à la fermeture du navigateur. Ce type de cookie est généralement stocké en mémoire. plutôt que sur le disque dur. Si le cycle de vie est paramétré. Au contraire, ces cookies ne disparaissent pas à la fermeture du navigateur, et ces cookies restent valables jusqu'à ce que le délai d'expiration fixé soit dépassé.

2. session Un formulaire de type table de hachage pour enregistrer les informations

Lorsque le programme doit créer une session pour la demande d'un client, le serveur vérifie d'abord si la demande du client contient A. l'identifiant de session (appelé session id) est inclus.

S'il est inclus, cela signifie qu'une session a déjà été créée pour ce client. Le serveur récupérera cette session en fonction de l'identifiant de session et l'utilisera (s'il ne peut pas être récupéré, il en créera une nouvelle. un). Si la demande du client n'inclut pas l'identifiant de session, créez une session pour ce client et générez un identifiant de session associé à cette session. La valeur de l'identifiant de session doit être une chaîne qui n'est ni répétée ni facile à trouver. à contrefaire. Cet identifiant de session sera renvoyé au client pour stockage dans cette réponse.

Un cookie peut être utilisé pour enregistrer cet identifiant de session, afin que pendant le processus d'interaction, le navigateur puisse automatiquement envoyer cet identifiant au serveur selon les règles. Généralement, le nom de ce cookie est similaire à SEEESIONID.

Mais les cookies peuvent être artificiellement désactivés, et il doit y avoir d'autres mécanismes pour toujours transmettre l'identifiant de session au serveur lorsque les cookies sont désactivés.

Avantages et inconvénients :

1. Les données des cookies sont stockées sur le navigateur du client et les données de session sont placées sur le serveur.

2. Les cookies ne sont pas très sûrs. D'autres peuvent analyser le COOKIE stocké localement et procéder à une tromperie des COOKIES

Compte tenu de la sécurité, la session doit être utilisée.

3. La session sera enregistrée sur le serveur dans un certain délai. Lorsque l'accès augmente, cela consommera davantage de performances de votre serveur

Afin de réduire les performances du serveur, COOKIE doit être utilisé.

4. Les données enregistrées par un seul cookie ne peuvent pas dépasser 4K. De nombreux navigateurs limitent un site à enregistrer jusqu'à 20 cookies.

5. Suggestion donc personnelle :

Stockez les informations importantes telles que les informations de connexion en tant que SESSION

Si d'autres informations doivent être conservées, elles peuvent être placées dans COOKIE

Recommandations d'apprentissage associées : Programmation PHP du débutant au compétent

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn