注册
|
登录
发帖
热搜
活动
交友
discuz
论坛
BBS
翼度工具
翼度网址导航
开发工具
Linux命令速查
网页设计配色表
在线制作icon
颜色代码选取器
翼度科技
»
论坛
›
编程开发
›
.net
›
查看内容
返回列表
发新帖
第51篇 Cookie和Session的简单介绍
陈光钦上海钦刻
陈光钦上海钦刻
当前离线
积分
15
5
主题
5
帖子
15
积分
新手上路
新手上路, 积分 15, 距离下一级还需 35 积分
新手上路, 积分 15, 距离下一级还需 35 积分
积分
15
发消息
显示全部楼层
前言
Cookie
是一种由服务器发送到用户浏览器并存储在客户端的小型数据块,通常用于标识用户会话和保持状态信息。
Session
则是服务器端存储的与特定用户会话相关的状态信息,它通过Cookie中的Session ID与客户端建立关联。这两者共同构建了传统Web应用中用户身份验证的基础。
1.Cookie
1.1 Cookie是什么
Cookie是Web开发中一种关键的
客户端存储技术
,它是由Web服务器在用户访问时生成并发送至用户浏览器的微型数据包,
以文本文件的形式储存
在用户的设备上。浏览器根据HTTP协议的规定,在之后对同一服务器的所有请求中自动附带这些Cookie信息。
服务器通过在HTTP响应头中设置Set-Cookie字段,来指示浏览器保存具有特定名称、值和其他配置参数(例如有效期、安全选项、路径限制、域名限制等)的Cookie。这样,每一个Cookie实质上就是一对
键值对
,帮助服务器识别和区分不同的用户及其在网站上的交互历史。
Cookie的一个
核心应用是在用户身份验证和会话管理方面
,它可
存储用户的会话ID
,使得用户在不同页面间切换或重新打开网站时,服务器能够基于这个ID重建用户的会话状态,实现无缝登录和个性化体验。此外,Cookie还广泛应用于记录用户喜好、统计分析用户行为、广告定向投放等方面,以提升用户体验和服务质量。但是,由于Cookie可能涉及用户隐私,现代浏览器和相关法规越来越重视对Cookie使用的透明度和用户控制权。
2.Session
2.1 Sesseion是什么
Session作为一种
服务器
端机制,旨在管理和维护用户在其交互期间的
状态信息
,这些信息被安全地存储在服务器内存或者持久化存储(如数据库)中,与仅在客户端存储的Cookie形成了鲜明对比。每当用户开始与服务器建立联系时,服务器会初始化一个
新的Session对象
,并将其状态数据
保存在服务器内部资源中
。
Session机制广泛应用在诸如
认证授权场景中
,用来持久化登录用户的凭证和权限等敏感信息,确保用户在浏览网站的不同页面时仍能维持登录状态和个性化体验。此外,Session还能用于暂存用户会话过程中的临时数据,比如购物车的内容、网页表单填写的中间状态等,直至会话自然终止(如超时)、用户主动登出或清理Session时,这些数据才会失效。
3.Cookie和Session的局限性
Cookie数量和大小限制:浏览器对Cookie的数量和大小有限制,可能导致用户数据存储受限。
服务器资源占用:Session需要在服务器端存储大量用户会话信息,随着并发用户数的增长,可能会造成服务器内存资源紧张。
跨域问题:Cookie默认遵循同源策略,不便于跨域共享会话状态。
分布式系统中的Session同步:在分布式环境或集群部署的情况下,Session数据需要在各服务器之间同步,增加了系统的复杂性。
正是基于上述问题,以及对无状态服务、更好的扩展性和安全性要求,催生了像
JWT
这样的新型身份验证技术。
JWT通过将用户信息加密打包成Token,让客户端自行携带认证信息,从而实现了服务器的无状态化,适应了现代Web应用架构的发展趋势。
本笔记参考或转账自:
https://www.coderacademy.online/article/jwtuse.html
来源:
https://www.cnblogs.com/chenshibao/p/18564415
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
上一篇:
记录一次NPOI库导出Excel遇到的小问题解决方案
下一篇:
第54篇 Redis简单介绍
发表于 2024-11-23 18:46:16
举报
回复
使用道具
分享
返回列表
发新帖
本版积分规则
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
快速回复
快速回复
返回顶部
返回顶部
返回列表
返回列表