Maison > Article > développement back-end > Résumé des fonctions cookie, session et stockage
1. Cookie : enregistre les informations d'interaction entre le client et le serveur.
La spécification des cookies définit le format, la durée de vie, la portée d'utilisation et la sécurité des informations interactives entre le serveur et le client.
Ces informations peuvent être lues ou définies via document.cookie en JavaScript. Étant donné que les cookies sont principalement utilisés pour la communication entre le client et le serveur, outre JavaScript, les langages côté serveur (tels que PHP) peuvent également accéder aux cookies.
2. Le cookie est un mécanisme permettant de stocker des données sur le navigateur distant et de les utiliser pour suivre et identifier les utilisateurs. Du point de vue de la mise en œuvre, un cookie est un petit élément de données stocké sur le client. Le navigateur (c'est-à-dire le client) interagit avec le serveur via le protocole HTTP. Les cookies ont une taille limite et les données stockées dans chaque cookie ne peuvent pas dépasser 4 Ko. Si la longueur de la chaîne du cookie dépasse 4 Ko, cet attribut renverra une chaîne vide.
3. Les cookies sont mis en œuvre et gérés par le navigateur.
4. Les attributs du cookie lui-même incluent « Commentaire », « Domaine », « Max-Age », « Chemin », « Sécurisé » et « Version ». Pour une utilisation spécifique, veuillez vous référer à JavaScript. Opération Cookie. L'attribut
Commentaire est la description du cookie généré par le cookie ; l'attribut
Domaine définit le nom de domaine qui peut accéder au cookie, par exemple some large Si vous souhaitez que les cookies soient partagés entre les sous-sites, vous pouvez utiliser cet attribut. Par exemple, si le domaine est défini sur .bigsite.com, alors sub1.bigsite.com et sub2.bigsite.com peuvent accéder aux cookies enregistrés sur le client. Dans ce cas, le chemin doit être défini sur /.
Max-Age L'attribut définit la durée de validité du cookie, comptée en secondes. Lorsque la période de validité expire, les informations du cookie ne seront pas ajoutées à l'en-tête du message HTTP du client. et envoyé au serveur. L'attribut
Chemin définit le chemin de la page du site Web où le cookie est accessible. Par défaut, Chemin est le chemin lorsque le cookie est généré à ce moment. être utilisé sous ce chemin et ses sous-chemins. Accès à la page ; Le chemin peut être défini sur / afin que le cookie soit accessible par toutes les pages du site Web.
Sécurisé La valeur de l'attribut définit la sécurité du cookie Lorsque la valeur est vraie, elle doit être dans l'état HTTPS avant que le cookie soit attaché par le client au message HTTP et envoyé. au serveur Lorsque les cookies HTTP ne sont pas envoyés ; lorsque Secure est faux, les cookies peuvent être transmis dans l'état HTTP par défaut sur false. L'attribut
Version définit la version du cookie, telle que définie par le créateur du cookie.
5. Utilisation de cookies :
Le serveur crée les informations à enregistrer puis les transmet au client. Le client extrait les informations du message HTTP et les enregistre sur le disque local. Lorsque le client accède à nouveau au serveur, il lit les informations initialement enregistrées sur le disque local, les joint au message HTTP et les envoie au serveur. Le serveur lit les informations du message HTTP et effectue un traitement ultérieur en fonction des besoins. la demande réelle.
6. Étant donné que les informations sur les cookies sont stockées en texte brut dans des fichiers texte, si certaines informations sensibles telles que les mots de passe et les numéros de compte bancaire doivent être stockées dans des fichiers cookies locaux, il est préférable d'utiliser une forme cryptée.
1. La session est une réponse, qui fait référence à une connexion continue et bidirectionnelle . Il n'y a essentiellement aucune différence entre Session et Cookie. Ce sont deux mécanismes proposés pour maintenir l'état de connexion de session entre le client et le serveur en réponse aux limitations du protocole HTTP. Session est également une norme universelle, mais implémentée différemment selon les langues. Pour les sites Web Web, la session fait référence à la session allant du moment où un utilisateur accède au site Web jusqu'à la fermeture du navigateur lors de la navigation sur un site Web. La séance est en fait une notion de temps spécifique.
2. La session détermine l'utilisateur client via l'ID de session, qui est le nom du fichier de session. L'ID de session est en fait transmis entre le client et le serveur via une requête HTTP et une réponse HTTP. L'ID de session est généré selon un certain algorithme et doit être inclus dans la requête HTTP pour garantir l'unicité et le caractère aléatoire afin de garantir la sécurité de la session. Si le cycle de génération de session n'est pas défini, l'ID de session est stocké dans la mémoire et l'ID est automatiquement déconnecté après la fermeture du navigateur. Une nouvelle demande de page réenregistrera un ID de session. Si le client ne désactive pas les cookies, le cookie joue le rôle de stockage de l'ID de session et de la durée de vie de la session lors du démarrage de la session Session. Une fois la session expirée, PHP la recyclera.
1. La session est côté serveur, et le cookie est côté client (navigateur)
2. (par défaut), pas Mémoire
3. Le fonctionnement de la session dépend de l'identifiant de session, et l'identifiant de session est stocké dans un cookie, c'est-à-dire que si le navigateur désactive les cookies, la session deviendra également invalide (bien sûr, cela peut être le cas). également être transmis dans l'URL)
4. La session peut être placée dans un fichier, une base de données ou une mémoire.
5. La session est généralement utilisée pour la vérification de l'utilisateur. Par conséquent, le cœur du maintien d'une session est l'identifiant unique du client, c'est-à-dire l'identifiant de session
6. un certain fardeau sur les performances du service serveur. Les données enregistrées par les cookies sont limitées
7. La session enregistre les objets et le cookie enregistre les paires clé-valeur de type chaîne.
Explication :
Étant donné que le protocole HTTP est un protocole sans état, lorsque le serveur doit enregistrer le statut de l'utilisateur, il doit utiliser un mécanisme pour identifier l'utilisateur spécifique. Ce mécanisme est la session. Dans un scénario typique, tel qu'un panier d'achat, lorsque vous cliquez sur le bouton de commande, puisque le protocole HTTP est sans état, on ne sait pas quel utilisateur l'a utilisé, le serveur doit donc créer une session spécifique pour l'utilisateur spécifique afin de l'identifier. utilisateurs et suivez les utilisateurs afin qu'ils sachent combien de livres se trouvent dans le panier. Cette session est enregistrée côté serveur et possède un identifiant unique. Il existe de nombreuses façons d'enregistrer une session côté serveur, notamment la mémoire, la base de données et les fichiers. Le transfert de session doit également être pris en compte lors du clustering. Dans les grands sites Web, il existe généralement un cluster de serveurs de session dédié pour enregistrer les sessions utilisateur. À ce stade, les informations de session sont stockées en mémoire et certains services de mise en cache tels que Memcached sont utilisés. comme ça pour mettre la Session.
Pensez-yComment le serveur identifie-t-il un client spécifique ? A ce moment, un Cookie apparaît. Chaque fois qu'une requête HTTP est effectuée, le client enverra les informations de cookie correspondantes au serveur. En fait, la plupart des applications utilisent des cookies pour mettre en œuvre le suivi de session. Lorsqu'une session est créée pour la première fois, le serveur indiquera au client dans le protocole HTTP qu'un identifiant de session doit être enregistré dans le cookie. Celui-ci sera enregistré pour chaque. demande ultérieure. L'ID de session est envoyé au serveur et je sais qui vous êtes. Quelqu'un a demandé : que dois-je faire si le navigateur du client désactive les cookies ? Généralement, dans ce cas, une technologie appelée réécriture d'URL est utilisée pour le suivi de session. Autrement dit, pour chaque interaction HTTP, un paramètre tel que sid=xxxxx sera ajouté à l'URL, et le serveur l'utilisera pour identifier l'utilisateur.
Les cookies peuvent en fait être utilisés dans certains scénarios conviviaux. Imaginez que vous vous êtes connecté une fois à un site Web et que vous ne souhaitez plus accéder à votre compte la prochaine fois que vous vous connectez. Ces informations peuvent être écrites dans le cookie. Lors de la visite du site Web, le script de la page du site Web peut lire ces informations et remplir automatiquement le nom d'utilisateur pour vous, ce qui peut faciliter la tâche de l'utilisateur. C'est aussi l'origine du nom du cookie, une petite douceur pour les utilisateurs. Donc, pour résumer : la session est une structure de données enregistrée sur le serveur pour suivre le statut de l'utilisateur. Ces données peuvent être enregistrées dans des clusters, des bases de données et des fichiers ; le cookie est un mécanisme permettant au client de sauvegarder les informations de l'utilisateur et est utilisé pour en enregistrer. les informations utilisateur sont également un moyen de mettre en œuvre la session.
Le stockage Web est une nouvelle façon de stocker des données sur le client. HTML5 fournit une nouvelle méthode de stockage des données sur le client. Il existe deux types : localStorage et sessionStorage ; en l'utilisant, vous pouvez stocker des données sur le client. Une base de données est établie localement sur le client et le contenu initialement enregistré dans la base de données côté serveur peut être directement enregistré localement sur le client, ce qui réduit considérablement la charge sur le serveur et les vitesses. accéder aux données.
1. localStorage : les données sont enregistrées de manière permanente. Enregistrez les données sur le périphérique matériel local du client (disque dur ou autre périphérique matériel) et les données existeront toujours même si le navigateur est fermé. La portée de localStorage est limitée au niveau de la source du document. Différentes sources de document ne peuvent pas lire et modifier les données les unes des autres, mais la même source de document le peut. Cependant, les différents navigateurs ne partagent pas le stockage, ce qui signifie que les données que vous stockez dans le navigateur Chrome ne sont pas accessibles dans Firefox, même s'il s'agit de la même source de document.
2. sessionStorage : stockage temporaire des données. Les données sont stockées dans des objets de session. La durée de stockage est le temps écoulé entre l'entrée dans la page Web et la fermeture de la page Web du navigateur. La portée de sessionStorage est également limitée au niveau source du document, mais elle est également limitée aux onglets. La même page dans différents onglets a son propre sessionStorage et les données ne peuvent pas être partagées. S'il y a deux éléments iframe dans une page, ils partagent sessionStorage.
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!