session与cookie的区别是什么

session与cookie的区别在于以下几个方面:1、对象不同;2、存储数据大小不同;3、生命周期不同;4、存储位置不同;5、数据类型不同;6、安全性不同。其中,对象不同是指cookie是针对每个网站的信息,每个网站只能对应一个,而session是针对每个用户的,只有客户端才能访问。

一、对象不同

cookie:是针对每个网站的信息,每个网站只能对应一个,其他网站无法访问,这个文件保存在客户端,每次您拨打相应网站,浏览器都会查找该网站的 cookies,如果有,则会将该文件发送出去。cookies文件的内容大致上包括了诸如用户名、密码、设置等信息。

session:是针对每个用户的,只有客户端才能访问,程序为该客户添加一个 session。session中主要保存用户的登录信息、操作信息等等。此 session将在用户访问结束后自动消失(如果也是超时)。

二、存储数据大小不同

cookie:一个 cookie存储的数据不超过3K。

session:session存储在服务器上可以任意存储数据。当 session存储数据太多时,服务器可选择进行清理。

三、生命周期不同

cookie:cookie的生命周期当浏览器关闭的时候就消亡了,cookie的生命周期是累计的,从创建时就开始计时,30min后cookie生命周期结束。

session:session的生命周期是间隔的,从创建时开始计时如在30min内没有访问session,那么session生命周期就被销毁。

四、存储位置不同

cookie:cookie数据保存在客户端。

session:session数据保存在服务器端。

五、数据类型不同

两者都是key-value结构,但针对value的类型是有差异的。

cookie:value只能是字符串类型。

session:value是object类型。

六、安全性不同

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session。

延伸阅读

session是什么

在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。有关使用Session 对象的详细信息,请参阅“ASP应用程序”部分的“管理会话”。注意会话状态仅在支持cookie的浏览器中保留。

Session有以下的特点

1、不是线程安全的,应该避免多个线程共享同一个Session实例;

2、Session实例是轻量级的,所谓轻量级:是指他的创建和删除不需要消耗太多资源;

3、Session对象内部有一个缓存,被称为Hibernate第一缓存,他存放被当前工作单元中加载的对象,每个Session实例都有自己的缓存。

文章标题:session与cookie的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/46719

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年3月8日 下午6:40
下一篇 2023年3月9日 下午2:23

相关推荐

  • 如何进行项目质量管理

    进行项目质量管理的步骤:1、质量管理计划的制定;2、执行质量管理计划;3、执行质量检查;4、采取纠正措施。质量管理计划的制定必须在客户想要的东西与您的成本、进度和专业标准之间找到平衡。

    2023年2月14日
    4000
  • 工作安排软件有什么

    工作安排软件有:1、Todo清单;2、晓日程;3、Zoho Projects。Todo清单是一款简洁而强大的待办事项管理软件,它可以让你快速地记录和安排你的日常任务和日程,还可以设置提醒、优先级、重复、子任务等功能。 一、Todo清单 Todo清单是一款简洁而强大的待办事项管理软件,它可以让你快速地…

    2023年4月21日
    1300
  • 前端js有哪些数据工具库

    前端js的数据工具库:1、jQuery;2、Polymer;3、D3.js;4、Pixi.js;5、Vue.js;6、MathJAX;7、SWFObject;8、Anime.js;9、Socket.IO;10、WinJS。jQuery极大地简化了JS编程,并且易于学习和使用,它具有高度可扩展性,使网…

    2023年4月15日
    3900
  • 办公oa系统使用什么技术栈

    办公oa系统使用以下技术栈:一、Java;二、Python;三、PHP;四、Node.js。Java是一种广泛应用于企业级应用开发的编程语言,具有跨平台性、稳定性、安全性、可扩展性等优点。在企业级应用领域,Java拥有广泛的应用群体,拥有丰富的开发资源和成熟的开发框架。 一、Java Java是一种…

    2023年5月28日
    900
  • 多人协作word怎么弄

    弄一个多人协作word的步骤:1、启动;2、登录;3、另存为文档;4、共享给他人。启动是指,启动Microsoft Office Word2003及以上的版本,登录的步骤是选择“文件”菜单,切换到“账户”选项,用自己的微软账户登录。 一、弄一个多人协作word的步骤 1、启动:启动Microsoft…

    2023年3月5日
    16400
  • 服务器群集与集群有什么区别

    区别是:群集服务器是一组独立的服务器,运行群集服务,并象单个系统一样运作。群集服务器的目的是,在出故障或断电的情况下,保证客户对应用程序和资源的访问。集群就是一组计算机,它们作为一个整体向用户提供一组网络资源。

    2023年2月15日
    9500
  • 排序算法有多少种

    人们常用的排序方法主要有10种,包括:1、冒泡排序;2、选择排序;3、插入排序;4、归并排序;5、快速排序;6、堆排序;7、希尔排序;8、计数排序;9、桶排序;10、基数排序。 冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。…

    2022年10月17日
    12300
  • 技术干货 | WebRTC 视频渲染

    导读:WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的 API。W3C 和 IETF 在2021年1月26日共同宣布 WebRTC 1.0 定稿,促使 WebRTC 从事实上的互联网通信标准成为了官方标准,其在不同场景的应用将得到…

    2022年3月10日
    65800
  • 管理费用包括哪些项目内容

    管理费用包括:一、人力资源管理费用;二、行政管理费用;三、财务管理费用;四、营销管理费用;五、研发管理费用;六、法律管理费用。人力资源管理费用是企业为招聘、培训、福利、劳动保护等方面的费用。这些费用旨在保证企业拥有足够的人力资源。 一、人力资源管理费用 人力资源管理费用是企业为招聘、培训、福利、劳动…

    2023年4月30日
    3600
  • saas和paas的区别是什么

    saas和paas的区别在于:SaaS为用户提供了基于云的应用软件,PaaS则为开发人员提供了构建应用程序的环境与思维。PaaS平台就是指云环境中的应用基础设施服务,也可以说是中间件即服务。PaaS平台在云架构中位于中间层,其上层是SaaS,其下层是IaaS。

    2023年2月18日
    16600

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部