0. Introduction, pourquoi avons-nous besoin de cookies et de sessions
Étant donné que les demandes HTTP sont sans état (l'état de connexion de l'utilisateur ne peut pas être enregistré, etc.), un certain mécanisme est nécessaire pour enregistrer l'état de connexion de l'utilisateur et d'autres informations. La prochaine fois que vous aurez accéder au service Web, vous n'avez pas besoin de vérifier si vous devez vous connecter ou un autre statut. Le mécanisme de session et le mécanisme des cookies sont respectivement des solutions du côté serveur et du navigateur.
1. À propos des cookies
1.1 Qu'est-ce qu'un cookie
Cookie, cookies d'origine. Il est utilisé pour stocker les informations d'état de l'utilisateur du côté du navigateur, puis ramener cette partie des informations au backend lors de l'accès au backend.
Le contenu des cookies comprend principalement: nom, valeur, temps d'expiration, chemin et domaine
1.2 Catégorie de cookies
Les cookies de session cookies qui ne définissent pas le temps d'expiration sont enregistrés dans la mémoire du navigateur. Si le navigateur est fermé, les cookies seront détruits. (souvent utilisé comme session)
Les cookies normaux définissent le temps d'expiration et enregistrez-le sur le disque dur
1.3 Comment appliquer
Lors du lancement d'une demande: le navigateur vérifie tous les cookies stockés. Si la portée de l'action déclarée par un cookie (déterminé par le chemin et le domaine) est supérieure ou égale à l'emplacement de la ressource à demander, le cookie est attaché à l'en-tête de demande HTTP de la ressource de demande et envoyé au serveur.
Lors des demandes de traitement: du côté du serveur, les informations de cookie contenues dans l'en-tête de demande sont généralement vérifiées (telles que la vérification de connexion). Si le chèque est passé, le traitement commercial réel peut être effectué.
Si la vérification échoue, comme ne pas trouver le cookie ou les informations sur les cookies, est incorrecte (peut-être forgé), sautez pour vous connecter et après vous connecter, renvoyez les informations sur les cookies dans la réponse. Le navigateur l'enregistrera sur le disque dur ou la mémoire en fonction des informations de cookie retournées pour la prochaine utilisation. ,
2. À propos de la session
2.1 Qu'est-ce que la session
La session est utilisée pour enregistrer les informations d'état de l'utilisateur côté serveur.
2.2 Comment utiliser
Lorsque le navigateur initie une demande: le serveur lira d'abord les informations de session dans l'en-tête de demande. Si les informations de session ne sont pas trouvées ou si le SessionID ne peut pas être récupéré localement, si ce n'est pas le cas, un nouveau sessionID sera généré et stocké sur le disque dur du serveur ou Memcache.
Le navigateur reçoit une réponse: le session RETOURNE sera enregistré dans la mémoire locale pour une utilisation sur la prochaine demande. L'une des implémentations de la session enregistrée localement consiste à enregistrer des informations sur les cookies, mais en fait, les cookies ne sont pas la seule solution pour enregistrer des sessions. Il est également possible d'utiliser des réécritures d'URL (ajoutez l'ID de session directement derrière le chemin d'assurance URL).
3. Les principales différences entre les cookies et les sessiond
1. Il y a une légère différence dans l'emplacement de stockage
Les données de cookie sont stockées sur le navigateur du client et n'ont pas besoin d'être enregistrées du côté du serveur. Les données de session sont placées sur le serveur et il existe également une copie de la mémoire locale.
2. Sécurité différente
Les cookies ne sont pas aussi sûrs que la session. Étant donné que les cookies ordinaires sont enregistrés sur le disque dur local, les pirates peuvent lancer des attaques XS en forgeant les URL et d'autres moyens pour obtenir des cookies dans l'état enregistré du disque dur local, puis voler les informations sensibles des utilisateurs.
La session est différente. Ce n'est que lorsqu'une attaque XSS est lancée lorsqu'un utilisateur se connecte à ce site Web que les informations de session peuvent être obtenues. Après avoir fermé le navigateur, la session sera détruite. La sécurité est meilleure que les cookies.
3. Différences de support entre domaine
Les cookies prennent en charge l'accès au domaine croisé. Par exemple, si l'attribut de domaine est défini sur ".biaodianfu.com", alors tous les noms de domaine avec le suffixe ".biaodianfu.com" peuvent accéder au cookie. Les cookies inter-domaines sont désormais largement utilisés sur Internet, tels que Google, Baidu, Sina, etc. Session ne prend pas en charge l'accès inter-domaine. La session n'est valable que dans le nom de domaine dans lequel il se trouve.
4. La différence de pression du serveur
La session est stockée du côté du serveur et chaque utilisateur générera une session. S'il y a beaucoup d'utilisateurs qui y accéderont simultanément, il générera beaucoup de sessions et consommera beaucoup de mémoire. Par conséquent, il est peu probable que des sites Web comme Google, Baidu et Sina avec des visites simultanées extrêmement élevées puissent être suivies à l'aide de la session. Compte tenu de la réduction des performances du serveur, le cookie doit être utilisé.
5. Méthodes d'accès différentes
Les cordes ASCII ne peuvent être stockées que dans des cookies. Si des caractères Unicode ou des données binaires sont nécessaires, le codage est requis en premier. Les objets Java ne sont pas accessibles directement dans les cookies. Pour stocker des informations légèrement complexes, l'utilisation des cookies est assez difficile.
La session peut accéder à tous les types de données, y compris, mais sans s'y limiter, la chaîne, l'entier, la liste, la carte, etc. Dans la session, les haricots Java et même toutes les classes Java, objets, etc. peuvent être directement stockées, ce qui est très facile à utiliser. Vous pouvez considérer la session comme une classe de conteneurs Java.
6.La taille des cookies est limitée
Les données enregistrées par un seul cookie ne peuvent pas dépasser 4K, et de nombreux navigateurs restreignent un site pour économiser jusqu'à 20 cookies.
La compréhension simple ci-dessus de la session et des cookies est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.