首页 > 其他分享 >第51篇 Cookie和Session的简单介绍

第51篇 Cookie和Session的简单介绍

时间:2024-11-23 14:33:25浏览次数:6  
标签:浏览器 51 用户 会话 Session Cookie 服务器

前言

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

标签:浏览器,51,用户,会话,Session,Cookie,服务器
From: https://www.cnblogs.com/chenshibao/p/18564415

相关文章

  • Cookie 是什么?从保存登录到广告追踪的那些事
    你有没有想过,为什么购物网站能记住你没结算的商品,视频网站会推荐你喜欢的内容?这一切的“幕后功臣”就是浏览器中的Cookie。它是一个看不见的小帮手,但很多时候,它也可能成为广告商和数据收集者的工具。今天,我们就来聊聊Cookie的前世今生、工作原理,以及如何保护自己的隐私。Cooki......
  • C51数字时钟/日历---LCD1602液晶显示屏
    题目要求:数字电子日历/时钟设计设计一个基于MCS51的电子日历和时钟。基本要求(1)可通过按键在日历和时间之间切换显示;(2)可由按键调整日期和时间(3)可整点报时(“嘟、嘟”声)(4)可设定时,定时时间到发出“嘟、嘟”声(5)具有秒表功能课程设计电路图:该课程设计采用ATMEL公......
  • D51【python 接口自动化学习】- python基础之模块与标准库
    day51模块的导入学习日期:20241028学习目标:模块与标准库--66模块的导入:如何使用其他人编写好的代码功能?学习笔记模块的作用导入模块的方法#导入模块#方式一importos#获取当前的位置print(os.getcwd())#方式二fromosimportgetcwd#获取当前的位置pr......
  • Keil C51 9.61__官网“最新版“下载、安装及相关提示( 保姆级教程, 安装过程详解, 附
     前言Keil5常用的分两个版本,C51 和MDK。C51用于编译8051内核的单片机程序,譬如AT89C51、STC89C51、STC98C52等。MDK用于编译STM32、GD32等ARM32位内核单片机程序。‌KeilC51‌是由KeilSoftwareCompany开发的,专门用于8051微控制器的软件开发系统。它支持8051系列的所有......
  • 【可答疑】基于51单片机的智能空调(含仿真、代码、报告、演示视频等)
     ✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~......
  • 【可答疑】基于51单片机的智能电饭煲(含仿真、代码、报告、演示视频等)
     ✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~......
  • springboot051医院管理系统(论文+源码)_kaic
    医院管理系统摘要随着信息互联网信息的飞速发展,医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求,创建了一个计算机管理医院管理系统的方案。文章介绍了医院管理系统的系统分析部分,包括可行性分析等,系统设计部分......
  • jsp服装销售管理系统m651z--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商品类型,服装商品,服装入库,服装出库开题报告内容一、课题背景随着服装行业的竞争加剧,销售数据的精准管理和分析成为企业提升竞争力的关键。为了满足服......
  • 51单片机的超声波水位检测【proteus仿真+程序+报告+原理图+演示视频】
    1、主要功能 该系统由AT89C51/STC89C52单片机+LCD1602显示模块+超声波传感器+继电器+按键、LED、蜂鸣器等模块构成。适用于超声波液位监测与控制等相似项目。可实现功能:1、LCD1602显示水位信息2、超声波传感器采集水位信息3、如果水位低于阈值,声光报警,同时加水继电器......
  • jsp儿童疫苗接种管理系统q51zm(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表家长,接种人员,儿童信息,疫苗类型,疫苗信息,入库信息,出库信息,疫苗预约,接种信息,在线反馈,疫苗规划表开题报告内容一、项目背景随着公共卫生意识的提升,儿童......