JSESSIONID 和Cookie的区别与联系
2016-10-02 · 知道合伙人教育行家
关注
展开全部
JSESSIONID 和Cookie的区别与联系:
Cookie是JSESSIONID 编程语言的一个函数。保存上下文机制或者记录用户登录情况等等,就需要Cookie的技术。
Cookie使用方法如下:
cookie name:JSESSIONID cookie value:KWJHUG6JJM65HS2K6 。http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,我们叫做session cookie,以区别persistent cookies,也就是我们通常所说的cookie,注意session cookie是存储于浏览器内存中的,并不是写到硬盘上的,这也就是看到的JSESSIONID,通常情是看不到JSESSIONID的,但是当把浏览器的cookie禁止后,web服务器会采用URL重写的方式传递Sessionid,就可以在地址栏看到sessionid=KWJHUG6JJM65HS2K6之类的字符串。
明白了原理,就可以很容易的分辨出persistent cookies和session cookie的区别了,网上那些关于两者安全性的讨论也就一目了然了,session cookie针对某一次会话而言,会话结束session cookie也就随着消失了,而persistent cookie只是存在于客户端硬盘上的一段文本(通常是加密的),而且可能会遭到cookie欺骗以及针对cookie的跨站脚本攻击,自然不如sessioncookie安全了。
通常session cookie是不能跨窗口使用的,当新开了一个浏览器窗口进入相同页面时,系统会赋予一个新的sessionid,这样信息共享的目的就达不到了,此时可以先把sessionid保存在persistent cookie中,然后在新窗口中读出来,就可以得到上一个窗口SessionID了,这样通过session cookie和persistent cookie的结合就实现了跨窗口的session tracking(会话跟踪)。
在一些web开发的书中,往往只是简单的把Session和cookie作为两种并列的http传送信息的方式,session cookies位于服务器端,persistent cookie位于客户端,可是session又是以cookie为基础的,明白的两者之间的联系和区别,我们就不难选择合适的技术来开发web service了。
Cookie是JSESSIONID 编程语言的一个函数。保存上下文机制或者记录用户登录情况等等,就需要Cookie的技术。
Cookie使用方法如下:
cookie name:JSESSIONID cookie value:KWJHUG6JJM65HS2K6 。http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,我们叫做session cookie,以区别persistent cookies,也就是我们通常所说的cookie,注意session cookie是存储于浏览器内存中的,并不是写到硬盘上的,这也就是看到的JSESSIONID,通常情是看不到JSESSIONID的,但是当把浏览器的cookie禁止后,web服务器会采用URL重写的方式传递Sessionid,就可以在地址栏看到sessionid=KWJHUG6JJM65HS2K6之类的字符串。
明白了原理,就可以很容易的分辨出persistent cookies和session cookie的区别了,网上那些关于两者安全性的讨论也就一目了然了,session cookie针对某一次会话而言,会话结束session cookie也就随着消失了,而persistent cookie只是存在于客户端硬盘上的一段文本(通常是加密的),而且可能会遭到cookie欺骗以及针对cookie的跨站脚本攻击,自然不如sessioncookie安全了。
通常session cookie是不能跨窗口使用的,当新开了一个浏览器窗口进入相同页面时,系统会赋予一个新的sessionid,这样信息共享的目的就达不到了,此时可以先把sessionid保存在persistent cookie中,然后在新窗口中读出来,就可以得到上一个窗口SessionID了,这样通过session cookie和persistent cookie的结合就实现了跨窗口的session tracking(会话跟踪)。
在一些web开发的书中,往往只是简单的把Session和cookie作为两种并列的http传送信息的方式,session cookies位于服务器端,persistent cookie位于客户端,可是session又是以cookie为基础的,明白的两者之间的联系和区别,我们就不难选择合适的技术来开发web service了。
名片
2024-10-28 广告
2024-10-28 广告
作为优菁科技(上海)有限公司的一员,Altair HyperWorks是我们重点代理的CAE软件套件。该软件以其全面的仿真能力、丰富的建模工具和高效的优化设计功能著称,广泛应用于汽车、航空航天、能源及电子等行业。HyperWorks通过集成...
点击进入详情页
本回答由名片提供
展开全部
http是无状态的会话协议,也就是说无法保存用户的信息。那如果有一些信息需要在用户的浏览活动中一直保持,该怎么做呢?我 们可以把这些信息在每次请求的时候作为参数传递给服务器,但这样做既麻烦又耗费资源,这时候就体现出了session的重要性。session是web开 发中不可或缺的一个特性。它是对于一个特定的用户请求,在web服务器上保存的一个全局变量。有了它我们就可以把用户的一些信息保存在服务器上,而不用在 服务器和客户端之间来回传递。知道了session的作用,那session是怎么实现的呢?服务器上为每个用户都保存了一个session,那当用户请 求过来的时候是怎么知道某一个用户应该对应哪个session呢?这时jsessionid就派上用场了。每一个session都有一个id来作为标识, 这个id会传到客户端,每次客户端请求都会把这个id传到服务器,服务器根据id来匹配这次请求应该使用哪个session。
jsessionid就是客户端用来保存sessionid的变量,主要是针对j2ee实现的web容器,没有研究过其他语言是用什么变量来保存的。一般 对于web应用来说,客户端变量都会保存在cookie中,jsessionid也不例外。不过与一般的cookie变量不同,jsessionid是保 存在内存cookie中的,在一般的cookie文件中是看不到它的影子的。内存cookie在打开一个浏览器窗口的时候会创建,在关闭这个浏览器窗口的 时候也同时销毁。这也就解释了为什么session变量不能跨窗口使用,要跨窗口使用就需要手动把jsessionid保存到cookie里面。
所谓Cookie,只是一条极为短小的信息,它能够被网站自动地文本方式放置在一台电脑的硬盘中。通过Cookie,网站可以识别你是第一次访问,或是又一次访问它。网站还可以利用Cookie了解你对哪些内容感兴趣,收集与用户有关的信息,例如记录自动登录的时间限制,记录用户名,投票仅一次的限制等等。在你浏览某些网站的时,网站的程序会在你不知不自觉中将一个小的Cookie(作为一个文本文件)存储在你的硬盘中。如果你想知道自己电脑里都有什么样的Cookie,那么请在Windows目录下寻找Cookie的文件夹。
jsessionid就是客户端用来保存sessionid的变量,主要是针对j2ee实现的web容器,没有研究过其他语言是用什么变量来保存的。一般 对于web应用来说,客户端变量都会保存在cookie中,jsessionid也不例外。不过与一般的cookie变量不同,jsessionid是保 存在内存cookie中的,在一般的cookie文件中是看不到它的影子的。内存cookie在打开一个浏览器窗口的时候会创建,在关闭这个浏览器窗口的 时候也同时销毁。这也就解释了为什么session变量不能跨窗口使用,要跨窗口使用就需要手动把jsessionid保存到cookie里面。
所谓Cookie,只是一条极为短小的信息,它能够被网站自动地文本方式放置在一台电脑的硬盘中。通过Cookie,网站可以识别你是第一次访问,或是又一次访问它。网站还可以利用Cookie了解你对哪些内容感兴趣,收集与用户有关的信息,例如记录自动登录的时间限制,记录用户名,投票仅一次的限制等等。在你浏览某些网站的时,网站的程序会在你不知不自觉中将一个小的Cookie(作为一个文本文件)存储在你的硬盘中。如果你想知道自己电脑里都有什么样的Cookie,那么请在Windows目录下寻找Cookie的文件夹。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询