news 2026/5/25 11:36:13

cookie 和session 的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cookie 和session 的区别

区别:

1.数据存储位置:cookie存储在浏览器,session存储在服务器

2.安全性:cookie没有安全性可言;session存储在服务器,采用加密、转码形式存储数据类型,安全性较高

3.大小:cookie数据类型受限,session几乎支持所有数据类型
4.数据类型:cookie默认是4k(可调)、session直接存储在服务器中,没有大小限制

一开始进行http请求之后,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了

cookie 是什么?

是一种小型文本文件,某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

web程序是使用HTTP协议传输的,而HTTP协议是无状态的协议,对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

session是什么?(会话):

Session是另一种记录客户状态的机制,保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

cookie 与session 如何工作的?

Cookie 和 Session 并非孤立工作,它们更像是一对默契的搭档,共同克服 HTTP 协议无状态的特性。

  1. 首次访问:当用户第一次访问网站时,服务器会创建一个唯一的Session ID,并生成相应的 Session 数据存储空间。

  2. 发放凭证:服务器通过 HTTP 响应的Set-Cookie头,将这个 Session ID 作为一份 Cookie 发送给用户的浏览器。

  3. 携带凭证:浏览器会保存这个包含 Session ID 的 Cookie。此后,在同一网站下的每一次请求,浏览器都会自动通过 HTTP 请求头将这个 Cookie(内含 Session ID)带回给服务器。

  4. 身份识别:服务器收到请求后,通过解析 Session ID,就能在庞大的服务器存储中找到对应用户的 Session 数据,从而识别用户身份,维持其登录状态、购物车内容等。

这就好比你去健身房,前台(服务器)给你一个手环(Cookie,上面有号码),你凭手环上的号码(Session ID)去开启自己的储物柜(Session,里面存放你的个人物品)

使用场景:

  • 使用 Cookie 的场景:记住登录状态(“记住我”功能)、存储简单的用户偏好设置(如语言、主题)、记录非敏感的分析数据。

  • 使用 Session 的场景:管理用户登录凭证(登录成功后,在 Session 中记录用户 ID 或角色)、存储购物车内容、暂存多步骤表单的中间数据等敏感信息。

  • 结合使用:最常见的模式是利用 Cookie 安全地存储 Session ID,而将实际的用户状态数据(如用户ID、权限)保存在服务器的 Session 中。这样既利用了 Cookie 的持久性,又保证了敏感数据的安全性

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 3:42:49

Unity游戏模组管理终极指南:从零开始掌握Unity Mod Manager

Unity游戏模组管理终极指南:从零开始掌握Unity Mod Manager 【免费下载链接】unity-mod-manager UnityModManager 项目地址: https://gitcode.com/gh_mirrors/un/unity-mod-manager 想要为Unity游戏添加丰富多彩的模组内容?Unity Mod Manager作为…

作者头像 李华
网站建设 2026/5/26 3:39:21

终极指南:快速掌握鸣潮自动剧情神器,彻底解放双手

终极指南:快速掌握鸣潮自动剧情神器,彻底解放双手 【免费下载链接】better-wuthering-waves 🌊更好的鸣潮 - 后台自动剧情 项目地址: https://gitcode.com/gh_mirrors/be/better-wuthering-waves 还在为鸣潮游戏中繁琐的剧情对话而烦恼…

作者头像 李华
网站建设 2026/5/26 3:44:01

前后端分离网上宠物店系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

摘要 随着互联网技术的快速发展和人们生活水平的提高,宠物行业迎来了前所未有的增长机遇。宠物用品、宠物医疗、宠物美容等细分市场的需求日益旺盛,传统的线下宠物店已无法满足消费者对便捷性和多样化的需求。在此背景下,构建一个高效、易用的…

作者头像 李华
网站建设 2026/5/26 3:42:47

前端开发者的终极武器:5分钟掌握HTML转Word文档完整指南

前端开发者的终极武器:5分钟掌握HTML转Word文档完整指南 【免费下载链接】html-docx-js Converts HTML documents to DOCX in the browser 项目地址: https://gitcode.com/gh_mirrors/ht/html-docx-js 还在为网页内容无法直接保存为可编辑文档而烦恼吗&#…

作者头像 李华
网站建设 2026/5/26 2:44:48

3步彻底解决TrollInstallerX下载拦截:安全操作完全指南

3步彻底解决TrollInstallerX下载拦截:安全操作完全指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 当您满怀期待地准备下载TrollInstallerX时&#xff0…

作者头像 李华
网站建设 2026/5/26 2:44:46

Topit窗口置顶工具:3个颠覆性用法让你彻底告别窗口切换疲劳

Topit窗口置顶工具:3个颠覆性用法让你彻底告别窗口切换疲劳 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 还在为频繁切换窗口而烦恼吗&#xff1f…

作者头像 李华