Table des matières
Session
Maison interface Web js tutoriel Résumé des différences entre Cookie et Session

Résumé des différences entre Cookie et Session

Apr 11, 2019 am 11:14 AM
javascript 缓存

Cet article vous présente un résumé des différences entre les cookies et les sessions. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Protocole HTTP sans état

Le protocole HTTP sans état signifie que le protocole n'a aucune capacité de mémoire pour le traitement des transactions. L'absence de statut signifie que si un traitement ultérieur nécessite les informations précédentes, celles-ci doivent être retransmises, ce qui peut entraîner une augmentation de la quantité de données transférées par connexion. En revanche, le serveur répond plus rapidement lorsqu’il n’a pas besoin d’informations préalables. Introduction
Après l'émergence d'applications Web dans lesquelles clients et serveurs interagissent de manière dynamique,
les caractéristiques sans état du HTTP entravent sérieusement la mise en œuvre de ces applicationsAprès tout, l'interaction doit relier le passé et le passé. l'avenir. Simple Le programme de panier d'achat doit également savoir quels produits l'utilisateur a sélectionnés auparavant. En conséquence, deux technologies pour maintenir l'état de la connexion HTTP ont vu le jour, l'une est Cookie et l'autre est Session. HTTP lui-même est un protocole de connexion sans état. Afin de prendre en charge l'interaction entre le client et le serveur, nous devons utiliser différentes technologies pour stocker l'état de l'interaction, et ces différentes technologies sont Cookie et Session. Les cookies sont une solution permettant de maintenir l'état via le client. Par définition, les cookies sont des informations spéciales envoyées par le serveur au client, et ces informations sont stockées sur le client sous forme de

fichiers texte, puis le client les enverra à chaque envoi une demande au serveur. Apportez ces messages spéciaux avec vous. Soyons plus précis : lorsqu'un utilisateur utilise un navigateur pour visiter un site Web prenant en charge les cookies, l'utilisateur fournira des informations personnelles, y compris le nom d'utilisateur, et les soumettra au serveur, puis celui-ci renverra l'hyperviseur correspondant au client. les informations personnelles seront également renvoyées avec le texte. Bien entendu ces informations ne sont pas stockées dans le corps de la réponse HTTP (Corps de la réponse) , mais sont stockées dans le HTTP. en-tête de réponse. (Response Header) ; Lorsque le navigateur client reçoit la réponse du serveur, le navigateur stockera les informations dans un emplacement unifié Pour les systèmes d'exploitation Windows, nous pouvons commencer à partir de : [Disque système]. :Documents and Settings[user name] Le cookie stocké se retrouve dans le répertoire Cookies ; dès lors, lorsque le client envoie une requête au serveur, il renvoie à nouveau le cookie correspondant au serveur. Cette fois, les informations du cookie sont stockées dans l’en-tête de la requête HTTP (Request Header). texte italique

Développement
Avec la mise en œuvre d'une technologie telle que Cookie, une fois que le serveur a reçu une requête du navigateur client, il peut obtenir des informations spécifiques au client en analysant le Cookie stocké dans l'en-tête de la requête, générant ainsi dynamiquement des informations liées à la demande. Contenu correspondant au client. Habituellement, nous pouvons voir des options telles que « S'il vous plaît, souvenez-vous de moi » sur l'interface de connexion de nombreux sites Web. Si vous la vérifiez avant de vous connecter, vous n'aurez pas besoin d'effectuer des connexions répétées et fastidieuses la prochaine fois que vous visiterez le site Web. cette fonction est implémentée via Cookie.

Une solution opposée à Cookie est Session, qui maintient l'état via le serveur. Étant donné que le mot Session contient de nombreuses sémantiques, il est nécessaire de clarifier ici le sens de Session. Tout d'abord, nous traduisons généralement Session en session , afin de pouvoir appeler une série d'actions interactives entre le navigateur client et le serveur une Session . A partir de cette sémantique, nous mentionnerons la durée de la Session, les opérations effectuées pendant la Session, etc. Deuxièmement, Session fait référence à l'espace de stockage ouvert par le serveur pour le client et aux informations qui y sont enregistrées. pour conserver son statut. À partir de cette sémantique, nous mentionnerons quel contenu stocker dans la session, comment obtenir le contenu correspondant de la session en fonction de la valeur clé, etc.
Pour utiliser Session, la première étape est bien entendu de créer une Session. Alors, quand est créée la Session ? Bien sûr, il est créé pendant l'exécution du programme côté serveur. Les applications implémentées dans différents langages ont différentes méthodes pour créer une session. En Java, elle est créée en appelant la méthode getSession de HttpServletRequest (en utilisant true comme paramètre). . Lors de la création d'une session, le serveur générera un identifiant de session unique pour la session, et cet identifiant de session sera utilisé pour retrouver la session créée dans les requêtes suivantes ; une fois la session créée, vous pouvez appeler la méthode liée à la session pour ajouter du contenu ; à la session, et ces contenus ne seront enregistrés que sur le serveur, et seul l'identifiant de session est envoyé au client ; lorsque le client enverra à nouveau une demande, il apportera cet identifiant de session et le serveur trouvera la session correspondante en fonction sur l'identifiant de session et utilisez-le à nouveau. C'est grâce à un tel processus que le statut de l'utilisateur est maintenu.
Pour résumer, HTTP lui-même est un protocole de connexion sans état. Afin de prendre en charge l'interaction entre le client et le serveur, nous devons utiliser différentes technologies pour stocker l'état de l'interaction, et ces différentes technologies sont. Cookies et sessions.

Cookie

Emplacement de stockage
Les données des cookies sont stockées sur le navigateur du client, et le serveur peut connaître les informations
Utilisation
Si utilisé ; le navigateur aucun délai d'expiration n'est défini , le cookie est enregistré dans la mémoire , et le cycle de vie se termine lorsque le navigateur est fermé . appelé cookie de session.

Si le délai d'expiration du cookie est défini dans le navigateur , le cookie est enregistré sur le disque dur Après la fermeture du navigateur, les données du cookie existeront toujours jusqu'au délai d'expiration. Il ne disparaît qu'une fois terminé.

Stockage
Les données enregistrées par un seul cookie
ne peuvent pas dépasser 4 Ko Un serveur peut enregistrer jusqu'à 20 cookies sur le navigateur client, et un navigateur peut le faire. enregistrer jusqu'à 300 Cookies ; Les cookies ne peuvent enregistrer que des types de chaînes, sous forme de
TexteScénarios d'application
La technologie des cookies comporte 4 composants : dans le HTTP rapport de réponse Il y a une ligne d'en-tête de cookie dans l'article ; il y a une ligne d'en-tête de cookie dans le message de requête HTTP ; un fichier cookie est conservé dans le système client et est géré par le navigateur de l'utilisateur situé dans le Web ; site

Résumé des différences entre Cookie et Session

Déterminez si l'utilisateur s'est connecté au site Web, afin qu'une connexion automatique (ou mémoriser le mot de passe) puisse être effectuée la prochaine fois que vous vous connecterez.

Si nous supprimons les cookies, les informations de connexion pertinentes doivent être renseignées à chaque fois que vous vous connectez.

Enregistrez l'heure de la dernière connexion et d'autres informations. Enregistrer la dernière page consultée Parcourir le nombre de visites

Si le paramètre de chemin est défini dans le cookie, les cookies sous différents chemins sur le même site Web ne pourront pas accéder les uns aux autres.
Inconvénients

Résumé des différences entre Cookie et Session

Taille limitée, les utilisateurs peuvent exploiter (désactiver) les cookies, ce qui entraîne des fonctionnalités limitées, une faible sécurité, certains états ne peuvent pas être enregistrés sur le client, à chaque fois. Chaque accès nécessite un envoi les cookies au serveur, ce qui gaspille de la bande passante. Les données des cookies ont le concept de chemin, et les cookies peuvent être limités pour n'appartenir qu'à un certain chemin.
Autres

Résumé des différences entre Cookie et Session

Résumé des différences entre Cookie et Session

Carry cookie pour la demande de données

Les données du cookie sont toujours transportées dans la requête http de la même origine (même si elles ne sont pas nécessaires), c'est-à-dire le cookie est transmis entre le navigateur et le serveur ;
Chaque fois qu'une nouvelle page est demandée, le cookie sera envoyé, ce qui gaspille de la bande passante. De plus, le cookie doit spécifier une portée et ne peut pas être appelé sur plusieurs domaines.

Session

emplacement de stockage
les données de session sont placées sur le serveur Le client ne connaît pas les informations, mais la session peut être gérée de manière persistante d'une manière particulière (memcache). , redis);
Utilisation

Lors de la création de la session et problèmes de cohérence de la session

La session sera enregistrée sur le serveur dans un certaine période de temps. augmente, cela consommera plus de performances de votre serveur. Afin de réduire les performances du serveur, des cookies doivent être utilisés
Lorsque le programme doit créer une session pour la demande d'un client, le serveur vérifie d'abord la demande du client Si un identifiant de session (appelé identifiant de session) a été inclus S'il a été inclus, cela signifie qu'une session a déjà été créée pour ce client et le serveur. utilisera cette session en fonction de l'identifiant de session. Utilisez pour la récupérer (si ne peut pas être récupéré, un nouveau sera créé si la demande du client ne contient pas d'identifiant de session). une session sera créée pour le client et un identifiant de session associé à cette session sera généré La valeur de l'identifiant de session doit être une chaîne qui n'est ni répétitive ni facile à trouver des modèles à imiter. L'identifiant sera renvoyé au client pour stockage dans cette réponse. La méthode de sauvegarde de cet identifiant de session peut utiliser des cookies, de sorte que pendant le processus d'interaction, le navigateur puisse envoyer automatiquement cette identification au serveur selon les règles.

Habituellement, un cookie est utilisé pour stocker l'identifiant de session du client, et pendant l'interaction, le navigateur envoie l'identifiant de session au serveur selon les règles. Si l'utilisateur désactive les cookies, la réécriture d'URL doit être utilisée, ce qui peut être réalisé via Response.encodeURL(url)
 ; la fin de l'API pour encodeURL est que lorsque le navigateur prend en charge les cookies, l'URL n'effectue aucun traitement ; lorsque le navigateur ne le fait pas. Lorsque les cookies sont pris en charge, l'URL sera réécrite et le SessionID sera épissé à l'adresse d'accès.

Stockage
sessionIl n'y a pas de limite de taille
Ce qui est enregistré dans la session est l'objet La session est enregistrée via une donnée. structure similaire à Hashtable, qui peut prendre en charge n'importe quel type d'objet (la session peut contenir plusieurs objets)
Scénario d'application
La session est utilisée pour enregistrer les informations privées de chaque utilisateur. La valeur de la variable est enregistrée côté serveur. , et les différents clients se distinguent par SessionID.
  1. Panier dans le centre commercial en ligne
  2. Enregistrer les informations de connexion de l'utilisateur
  3. Mettre certaines données dans la session pour les utiliser par différentes pages du même utilisateur
  4. Empêcher les utilisateurs de se connecter illégalement
Accès
Les sessions ne peuvent pas distinguer les chemins Lorsqu'un même utilisateur visite un site Web, toutes les sessions sont accessibles de n'importe où.

Inconvénients

Plus la session enregistre de choses, plus la mémoire du serveur est occupée. Pour les sites Web avec un grand nombre d'utilisateurs en ligne, la pression mémoire du serveur sera plus grande et cela dépend des cookies ( sessionID est enregistré dans le cookie), si vous désactivez les cookies, vous devez utiliser la réécriture d'URL, ce qui n'est pas sûr. La création de variables de session est très arbitraire et peut être appelée à tout moment. Elle ne nécessite donc pas de traitement précis des développeurs. une utilisation excessive des variables de session rendra le code illisible et difficile à maintenir.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Où sont stockés les fichiers vidéo dans le cache du navigateur ? Où sont stockés les fichiers vidéo dans le cache du navigateur ? Feb 19, 2024 pm 05:09 PM

Dans quel dossier le navigateur met-il la vidéo en cache ? Lorsque nous utilisons le navigateur Internet quotidiennement, nous regardons souvent diverses vidéos en ligne, comme regarder des clips vidéo sur YouTube ou regarder des films sur Netflix. Ces vidéos seront mises en cache par le navigateur pendant le processus de chargement afin qu'elles puissent être chargées rapidement lors d'une nouvelle lecture ultérieure. La question est donc de savoir dans quel dossier ces vidéos mises en cache sont réellement stockées ? Différents navigateurs stockent les dossiers vidéo mis en cache à différents emplacements. Ci-dessous, nous présenterons plusieurs navigateurs courants et leurs

Comment afficher et actualiser le cache DNS sous Linux Comment afficher et actualiser le cache DNS sous Linux Mar 07, 2024 am 08:43 AM

DNS (DomainNameSystem) est un système utilisé sur Internet pour convertir les noms de domaine en adresses IP correspondantes. Dans les systèmes Linux, la mise en cache DNS est un mécanisme qui stocke localement la relation de mappage entre les noms de domaine et les adresses IP, ce qui peut augmenter la vitesse de résolution des noms de domaine et réduire la charge sur le serveur DNS. La mise en cache DNS permet au système de récupérer rapidement l'adresse IP lors d'un accès ultérieur au même nom de domaine sans avoir à émettre une requête de requête au serveur DNS à chaque fois, améliorant ainsi les performances et l'efficacité du réseau. Cet article expliquera avec vous comment afficher et actualiser le cache DNS sous Linux, ainsi que les détails associés et des exemples de code. Importance de la mise en cache DNS Dans les systèmes Linux, la mise en cache DNS joue un rôle clé. son existence

Accélérez vos applications : un guide simple sur la mise en cache Guava Accélérez vos applications : un guide simple sur la mise en cache Guava Jan 31, 2024 pm 09:11 PM

Premiers pas avec Guava Cache : accélérez vos applications Guava Cache est une bibliothèque de mise en cache en mémoire hautes performances qui peut améliorer considérablement les performances des applications. Il fournit une variété de stratégies de mise en cache, notamment LRU (la moins récemment utilisée), LFU (la moins récemment utilisée) et TTL (durée de vie). 1. Installez le cache Guava et ajoutez la dépendance de la bibliothèque de cache Guava à votre projet. com.goog

Les fichiers HTML seront-ils mis en cache ? Les fichiers HTML seront-ils mis en cache ? Feb 19, 2024 pm 01:51 PM

Titre : Mécanisme de mise en cache et exemples de code de fichiers HTML Introduction : Lors de la rédaction de pages Web, nous rencontrons souvent des problèmes de cache du navigateur. Cet article présentera en détail le mécanisme de mise en cache des fichiers HTML et fournira quelques exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer ce mécanisme. 1. Principe de mise en cache du navigateur Dans le navigateur, chaque fois qu'une page Web est consultée, le navigateur vérifie d'abord s'il y a une copie de la page Web dans le cache. Si tel est le cas, le contenu de la page Web est obtenu directement à partir du cache. C'est le principe de base de la mise en cache du navigateur. Avantages du mécanisme de mise en cache du navigateur

Utilisation avancée de PHP APCu : libérer la puissance cachée Utilisation avancée de PHP APCu : libérer la puissance cachée Mar 01, 2024 pm 09:10 PM

PHPAPCu (remplacement du cache php) est un module de cache d'opcodes et de cache de données qui accélère les applications PHP. Comprendre ses fonctionnalités avancées est crucial pour utiliser tout son potentiel. 1. Opération par lots : APCu fournit une méthode d'opération par lots qui peut traiter un grand nombre de paires clé-valeur en même temps. Ceci est utile pour la suppression du cache ou les mises à jour à grande échelle. //Obtenir les clés de cache par lots $values=apcu_fetch(["key1","key2","key3"]); //Effacer les clés de cache par lots apcu_delete(["key1","key2","key3"]) ;2 .Définir le délai d'expiration du cache : APCu vous permet de définir un délai d'expiration pour les éléments du cache afin qu'ils expirent automatiquement après une heure spécifiée.

Meilleures pratiques APCu : améliorer l'efficacité de vos applications Meilleures pratiques APCu : améliorer l'efficacité de vos applications Mar 01, 2024 pm 10:58 PM

Optimisation de la taille du cache et stratégies de nettoyage Il est essentiel d'allouer une taille de cache appropriée à APCu. Un cache trop petit ne peut pas mettre en cache efficacement les données, tandis qu'un cache trop volumineux gaspille de la mémoire. De manière générale, définir la taille du cache entre 1/4 et 1/2 de la mémoire disponible est une plage raisonnable. De plus, disposer d’une stratégie de nettoyage efficace garantit que les données obsolètes ou invalides ne sont pas conservées dans le cache. Vous pouvez utiliser la fonction de nettoyage automatique d'APCu ou implémenter un mécanisme de nettoyage personnalisé. Exemple de code : //Définissez la taille du cache sur 256 Mo apcu_add("cache_size",268435456); //Effacez le cache toutes les 60 minutes apcu_add("cache_ttl",60*60);

Mécanisme de mise en cache et pratique d'application dans le développement PHP Mécanisme de mise en cache et pratique d'application dans le développement PHP May 09, 2024 pm 01:30 PM

Dans le développement PHP, le mécanisme de mise en cache améliore les performances en stockant temporairement les données fréquemment consultées en mémoire ou sur disque, réduisant ainsi le nombre d'accès à la base de données. Les types de cache incluent principalement le cache de mémoire, de fichiers et de bases de données. En PHP, vous pouvez utiliser des fonctions intégrées ou des bibliothèques tierces pour implémenter la mise en cache, telles que cache_get() et Memcache. Les applications pratiques courantes incluent la mise en cache des résultats des requêtes de base de données pour optimiser les performances des requêtes et la mise en cache de la sortie des pages pour accélérer le rendu. Le mécanisme de mise en cache améliore efficacement la vitesse de réponse du site Web, améliore l'expérience utilisateur et réduit la charge du serveur.

Comment enregistrer des fichiers vidéo du cache du navigateur vers le local Comment enregistrer des fichiers vidéo du cache du navigateur vers le local Feb 23, 2024 pm 06:45 PM

Comment exporter des vidéos du cache du navigateur Avec le développement rapide d'Internet, les vidéos sont devenues un élément indispensable de la vie quotidienne des gens. Lorsque nous naviguons sur le Web, nous rencontrons souvent du contenu vidéo que nous souhaitons enregistrer ou partager, mais parfois nous ne pouvons pas trouver la source des fichiers vidéo car ils n'existent que dans le cache du navigateur. Alors, comment exporter des vidéos depuis le cache de votre navigateur ? Cet article vous présentera plusieurs méthodes courantes. Tout d’abord, nous devons clarifier un concept, à savoir le cache du navigateur. Le cache du navigateur est utilisé par le navigateur pour améliorer l'expérience utilisateur.

See all articles