cookie 、session、JSESSIONID

cookie 、session ?

让我们用几个例子来描述一下cookie和session机制之间的区别与联系。笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微乎其微,这时就需要某种方式来纪录某位顾客的消费数量。想象一下其实也无外乎下面的几种方案:

1、该店的店员很厉害,能记住每位顾客的消费数量,只要顾客一走进咖啡店,店员就知道该怎么对待了。这种做法就是协议本身支持状态。

2、发给顾客一张卡片,上面记录着消费的数量,一般还有个有效期限。每次消费时,如果顾客出示这张卡片,则此次消费就会与以前或以后的消费相联系起来。这种做法就是在客户端保持状态。

3、发给顾客一张会员卡,除了卡号之外什么信息也不纪录,每次消费时,如果顾客出示该卡片,则店员在店里的纪录本上找到这个卡号对应的纪录添加一些消费信息。这种做法就是在服务器端保持状态。

由于HTTP协议是无状态的,而出于种种考虑也不希望使之成为有状态的,因此,后面两种方案就成为现实的选择。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。

Jsessionid?

  Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了。

小结:cookie 和session 的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

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

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能    考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:    将登陆信息等重要信息存放为SESSION    其他信息如果需要保留,可以放在COOKIE中

时间: 2024-11-06 10:59:27

cookie 、session、JSESSIONID的相关文章

cookie、session、sessionid 与jsessionid

cookie.session.sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解. 我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 1. 凭借柜台职员的记忆:由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速知道顾客当前的存款以及存取的次数,每次存取的金额是多少.---- 这种方式表示协议本身支持状态. 2. 使用存折的方式:职员把每个顾客的存款/取款的信息保存在存折上,然后交给顾

[转]cookie、session、sessionid 与jsessionid

cookie.session.sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解. 我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速这个顾客当前的存款以及存取的次数,每次存取的金额是多少.-----------这种方式表示协议本身支持状态. 使用存折的方式,然后柜台职员就把每个顾客的存款/取款的信息保存在这张折子

cookie、session、sessionid 与jsessionid(转)

cookie.session.sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解. 我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速这个顾客当前的存款以及存取的次数,每次存取的金额是多少.-----------这种方式表示协议本身支持状态. 使用存折的方式,然后柜台职员就把每个顾客的存款/取款的信息保存在这张折子

cookie、session、sessionid的区别

我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 1.凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速这个顾客当前的存款以及存取的次数,每次存取的金额是多少.-----------这种方式表示协议本身支持状态. 2.使用存折的方式,然后柜台职员就把每个顾客的存款/取款的信息保存在这张折子,然后交给顾客保管,当顾客来存款/取款时,只要拿出存折,职员查看存折就对当前这位顾客的存款/取款信息一目了然.当然,你马上会

Application、Session、Cookie、ViewState的特性

http://blog.csdn.net/zyw_anquan/article/details/7664132 Application的特性: 存储的物理位置:服务器端内存. 存储的类型限制:任意类型,Application对象可以存放其它对象. 状态使用的范围:整个应用程序. 存储的大小限制:任意大小. 生命周期:应用程序开始时创建,应用程序结束时销毁. 安全与性能:安全性较高(因为存放在服务器端),不能存放大量数据. Session的特性: InProc StateServer SQLSer

QueryString、Session、Cookie、Application、Server.Transfer(资料)

一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了. 这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效. 这种方法的缺点:1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的. 2.不能传递对象. 使用方法:1.在源页面的代码中用需要传递的名称和值构造URL地址. 2.在源页面的代码

傻傻分不清之 Cookie、Session、Token、JWT

傻傻分不清之 Cookie.Session.Token.JWT 什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 互联网中的认证: 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱/验证码,就默认你是账号的主人 什么是授权(Authorization) 用户授予第三方应用访问该用户某些资源的权限 你在安装手机应用的时候,APP 会询问是

Farseer.net轻量级开源框架 中级篇:Cookies、Session、Request

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 探究ORM(Mapping) 下一篇:Farseer.net轻量级开源框架 中级篇: UrlRewriter 地址重写 Cookies.Session.Request是专门针对WEB项目的额外支持. 顺便说下,今天有园友在群里问到ORM对MVC的支持.或者对WinForm支持吗?对于ORM来说,本身是对表现层没有任何的联系.它仅仅是让你在开发的时候,能以面向对象的思想(语法)去做

服务器认证、授权、鉴权、session、token

1.session(赛神)会话机制 session 会话机制会借助 cookie + session 一起来做认证 cookie 是放在浏览器中的,cookie 是存储在客服端,但是可以由服务端和客户端生成. sesion 是保存在服务端的数据库中的,session 是服务端一块存储空间,只能由服务端生成. session 是把 session id 也就是session 的 key 值,保存到 cookie 当中 这个 key 值 一般在访问其他页面的时候会放到 cookie 当中,向后端发起

jsp九大内置对象:request、response、session、application、out、page、pageContext、config、exception

JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1.request对象 request 对象是 javax.servlet.httpServletRequest类型的对象. 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据.(包括头信息.系统信息.请求方式以及请求参数等).request对象的作用域为一次请求. 2.res