如何深刻理解JavaWeb中session和cookie?
简单来说一个是把用户数据保存在用户端(电脑、手机等),一个是保留在服务器端(云端) 。本文由齿轮易创原创,未经许可禁止转载 。如有技术开发需求请联系齿轮易创头条号 。Cookie是针对每一个网站的信息,每一个网站只对应一个,其它网站不能访问,这个文件是保存在客户端的,每次你打开相应网站,浏览器会查找这个网站的cookies,如果有就会将这个文件起发送出去 。
cookies文件的内容大致包含这些信息如用户名,密码,设置等 。由服务器发送出来以存储在浏览器上,从而下次这位访客又回到该网络服务器时,可从该浏览器读回此信息 。Session是针对每一个用户的,session机制是一种服务器端的机制 。只有客户机访问,程序就会为这个客户新增一个session 。session里主要保存的是用户的登录信息,操作信息等 。
Session直接翻译成中文比较困难,一般都译成时域 。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间 。以及如果需要的话,可能还有一定的操作空间 。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间,也就是用户浏览这个网站所花费的时间 。
因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念 。Cookie和Session的关系当客户端请求创建一个session的时候,服务器首先检查客户端请求里是否已包含了一个session标识session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用 。
如果客户端请求不包含session id,则为此服务器创建一个session并且生成一个与此session相关联的session id 。保存这个session id的方式可以采用cookie,Session类似于”云端”存储 。一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间 。
优缺点cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗(cooke是透明可见的),考虑到安全应当使用sessionsession会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能 。考虑到减轻服务器性能方面,应当使用COOKIE单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K 。
搞不懂Session、Cookie、Token有何关系和区别?
【Session,session】
推荐阅读
- 手机耗电非常快,如何让手机耗电慢
- 如何清除手机内存
- 解析双色球如何中奖率高 双色球怎么买中奖率高
- 三星官网三星手机新款 最新款三星手机
- 输入法切换问题
- 看看这个如何
- realme手机,如何评价Realme手机
- 索尼相机价格,全画幅索尼相机
- 苹果手机怎么自定义电话铃声 苹果手机如何自定义电话铃声
- 如何更换iphone手机 如何更换iPhone手机