前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再谈session 和 cookie的差异

再谈session 和 cookie的差异

作者头像
用户2141593
发布2018-05-18 09:56:11
5120
发布2018-05-18 09:56:11
举报
文章被收录于专栏:Java进阶Java进阶

我们都知道 session是存储在服务器端的,cookie是存储在客户端的;

他们两者之间又有什么联系呢?这点要先从HTTP先说起。

HTTP协议是一种无状态的 通信协议 。那么这就以为着 客户端按道理是需要每次请求之前都要和服务器做连接的。 但是每次都进行这种连接,会非常耗时,并且这些重复的网络请求的意义都不大,所以如何避免这些重复的工作就成为了聪明人们发挥聪明的地方了。

cookie的特点就是比较大,可以储存一些信息,比如数据。 session一般保存的都是用户信息之类的数据。

在客户端请求服务器的这个过程中,请求到了服务器端时,Tomcat或者jetty之类的容器会生成一个:JsessionID。 这个ID号 是不唯一的,大部分的session机制都会将这个JsessionID 保存到cookie当中去。同时session中也有这个JsessionID。

然后又因为浏览器中的cookie它是保存到 计算机的硬盘中的,所以就算我们关闭了浏览器只要不人为的清空浏览器中的缓存cookie,那么浏览器按道理就会一直保存着这个JsessionID,只要通过这个JsessionID就能找到 这个用户的session信息。

但是如果你的计算机处于开机状态又没有锁屏,结果别人打开了你的浏览器,就可以直接获取你的一些信息这样也太不安全了。所以服务器端也会对这个session进行一个 时间限制,一般是30分钟 可以在web.xml中设置。

30分钟过后服务器会怎么处理这个信息呢? 当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间。

以前只是知道个大概,后来仔细点把这个事给想清楚了,很简单的知识,但又很基础很重要的知识,还是有必要记一记的

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年03月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档