首页 > 其他分享 >Cookie和Session的区别

Cookie和Session的区别

时间:2024-08-17 13:26:53浏览次数:20  
标签:存储 区别 保存 Session Cookie 服务器 客户端

Cookie:Cookie 是保存在客户端的一小块文本串的数据。客户端向服务器发起请求时,服务端会向客户端发送一个 Cookie,客户端就把 Cookie 保存起来。在客户端下次向同一服务器再发起请求时,Cookie 被携带发送到服务器。服务端可以根据这个 Cookie 判断用户的身份和状态。

Session:Session 指的就是服务器和客户端一次会话的过程。它是另一种记录客户状态的机制。不同的是 cookie 保存在客户端浏览器中,而 session 保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 session。客户端浏览器再次访问时只需要从该 session 中查找用户的状态。

区别:

  • 1.存储位置不一样,Cookie 保存在客户端,Session 保存在服务器端。
  • 2.存储数据类型不一样,Cookie 只能保存 ASCII,Session 可以存任意数据类型,一般情况下我们可以在 Session 中保持一些常用变量信息,比如说 UserId 等。
  • 3.有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般有效时间较短,客户端关闭或者 Session 超时都会失效。
  • 4.隐私策略不同,Cookie 存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在 Cookie 中导致信息被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些。
  • 5.存储大小不同, 单个 Cookie 保存的数据不能超过 4K,Session 可存储数据远高于 Cookie。

标签:存储,区别,保存,Session,Cookie,服务器,客户端
From: https://blog.csdn.net/qq_53199639/article/details/141279313

相关文章

  • throw和throws的区别
    throw和throws在Java中是两个与异常处理相关的关键字,但它们的作用和使用场景有所不同。throw用于在方法内部主动抛出一个异常对象。例如:if(condition){thrownewRuntimeException("自定义的异常信息");}throws则用于在方法声明处指明该方法可能抛出的异常类型......
  • React 的虚拟 DOM 和 Vue 的虚拟 DOM 有什么区别?
    React和Vue都使用虚拟DOM(VirtualDOM)来实现高效的UI渲染。1.引言介绍虚拟DOM的概念和重要性。提到React和Vue都采用了虚拟DOM来优化视图更新过程。2.什么是虚拟DOM?定义虚拟DOM:它是一种用JavaScript对象表示UI结构的技术。解释虚拟DOM如何与......
  • session概念和底层原理——生命周期
    session–(会话)一、概念session在网络应用中称为“会话控制”,是服务器为了保存用户状态而创建的一个特殊的对象。简而言之,session就是一个对象,用于存储信息。二、使用和注意事项session是以键值对的形式存放数据,类型为**<String,Object>**,通过getAttribute()和setAttri......
  • C++八股文——内存管理(堆和栈的区别? C++内存分区? 内存泄漏?如何避免?什么是智能指针?有哪
    文章目录C++内存管理堆和栈的区别C++内存分区内存泄漏?如何避免?1、什么是内存泄露?2、内存泄漏的分类3、什么操作会导致内存泄露?4、如何防⽌内存泄露?5、智能指针有了解哪些?6、构造函数,析构函数要设为虚函数吗,为什么?什么是智能指针?有哪些种类?new和malloc有什么区别?d......
  • 生产笔记-HDI板与普通PCB板的区别
    HDI是什么?HDI(HighDensityInterconnect)全称高密度互连板,是一种线分布密度高的高密度电路板,在现代电子设备中扮演着至关重要的角色。它具有轻薄、线路密度高、有利于先进构装技术的使用、电气特性与信号更佳、改善射频干扰/电磁波干扰/静电释放、传输路径短等优点......
  • DWC3和XHCI的区别
    DWC3(DesignWareUSB3.0Controller)和XHCI(eXtensibleHostControllerInterface)都是与USB控制器相关的技术,但它们的作用和实现层次有所不同。1.DWC3(DesignWareUSB3.0Controller)芯片级别的USB控制器:DWC3是由Synopsys设计的USB控制器IP,用于集成到SoC(系统级芯片)中。它是一个......
  • BC1.2和PD 充电的区别
    USBBatteryChargingSpecification1.2(BC1.2)和USBPowerDelivery(USBPD)是两个不同的充电标准,它们在应用场景、充电能力、充电协议等方面有显著区别。1.标准简介BC1.2(BatteryChargingSpecification1.2)发布时间:2010年左右。设计目的:为了在标准USB端口上实现更......
  • Css预编语言的理解?有哪些区别?
    Css作为一门标记性语言,语法相对简单,但同时也带来一些问题。需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,Css预处理器便是针对上述问题的解决方案。Css预编译语言在前端里面有三大优秀的预编处理器,分别是:1、sass2、less3、stylus:变量:less声明的变量必须以@开......
  • Spring中接口注入和实现类注入的区别
    一、依赖注入的背景在Spring框架中,依赖注入(DependencyInjection,DI)是一种通过外部控制来为类提供其依赖对象的机制。Spring通过IoC容器管理这些依赖,减少了组件之间的耦合度,使得代码更加灵活和易于测试。二、接口注入1.定义接口注入是指在代码中依赖的是接口类型,而不是接口......
  • Python中堆、栈、队列之间的区别
    一、队列概念1、队列是只有一端可以进行插入操作,而另一端可以进行删除操作的有序线性存储结构,满足先进先出的约束。2、在计算机科学中,队列是一个集合,其中集合中的实体按顺序保存,集合上的主要(或唯一)操作是向后端位置添加实体,称为入队,前端位置并删除实体,称为出队。这使得队列成为......