news 2026/8/7 20:44:22

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/8/7 4:20:58

Intel GPU上的CUDA革命:ZLUDA技术深度解析与实战指南

Intel GPU上的CUDA革命:ZLUDA技术深度解析与实战指南 【免费下载链接】ZLUDA CUDA on Intel GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 还在为Intel显卡无法运行CUDA应用而烦恼吗?ZLUDA项目带来了革命性的解决方案&#xff0…

作者头像 李华
网站建设 2026/8/7 15:25:52

LangChain新手福音:LangFlow图形界面让学习更简单

LangChain新手福音:LangFlow图形界面让学习更简单 在AI应用开发的浪潮中,大语言模型(LLM)早已不再是实验室里的“黑科技”,而是逐步走向产品化、工程化的关键组件。然而,当开发者真正尝试构建一个具备记忆、…

作者头像 李华
网站建设 2026/8/7 23:38:57

5分钟掌握Umi-OCR:免费开源的文字识别神器

5分钟掌握Umi-OCR:免费开源的文字识别神器 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHub_Trending…

作者头像 李华
网站建设 2026/8/7 21:31:03

iOS越狱终极教程:TrollInstallerX一键安装完整指南

还在为旧版iOS系统无法越狱而烦恼吗?想在iOS 14.0到16.6.1系统上轻松安装TrollStore?本教程将为你揭秘TrollInstallerX的高效安装技巧,让你在几分钟内完成iOS越狱工具的部署。TrollInstallerX作为专为iOS 14.0-16.6.1系统设计的TrollStore安装…

作者头像 李华
网站建设 2026/8/7 22:12:33

Windows 12网页版终极体验:零基础快速上手完整指南

还在为无法体验最新操作系统而烦恼吗?现在,无需任何技术基础,直接在浏览器中就能完整感受Windows 12的魅力。这个开源的网页项目完美还原了下一代操作系统的视觉设计和核心功能,让你提前走进未来数字世界。 【免费下载链接】win12…

作者头像 李华
网站建设 2026/8/7 15:36:57

11fps实时视频生成!Krea Realtime 14B大模型登场

11fps实时视频生成!Krea Realtime 14B大模型登场 【免费下载链接】krea-realtime-video 项目地址: https://ai.gitcode.com/hf_mirrors/krea/krea-realtime-video 大语言模型领域再添新突破,Krea推出全新Realtime 14B大模型,实现了11…

作者头像 李华