永发信息网

session cookie什么时候被发送?

答案:2  悬赏:10  手机版
解决时间 2021-03-27 23:01
  • 提问者网友:鐵馬踏冰河
  • 2021-03-27 08:17
session cookie是在向同一个主机名发送请求时,还是向同一个ip请求时被发送出去?更具体一些如果请求www.baidu.com时获得sessionID,那么下次向zhidao.baidu.com或者www.baidu.com/somedir 发送请求时会一并发出session cookie吗?
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-01-08 16:31
一般情况,session是和域名有关的.比如你访问a.com,他会产生一个session来记录你的访问状态等.但是访问b.com还需要生成另外一个session,他们是两个不同的.即使是一个域名下的二级域名.session也是不同的.
而cookie是存储在本地电脑的一个加密过的文件.
你访问a.com的时候.可以生成一个cookie.如果你再访问abc.a.com 在这个aba.a.com中也是可以读取刚才那个cookie的.
简单说.session不跨域名.cookie可以跨域名.
全部回答
  • 1楼网友:青尢
  • 2020-05-10 22:54
session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的sessionid,用该sessionid 为标识符来存取服务器端的session存储空间。而sessionid这一数据则是保存到客户端,用cookie保存的,用户提交页面时,会将这一 sessionid提交到服务器端,来存取session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用cookie,那么session也会失效。 服务器也可以通过url重写的方式来传递sessionid的值,因此不是完全依赖cookie。如果客户端cookie禁用,则服务器可以自动通过重写url的方式来保存session的值,并且这个过程对程序员透明。 可以试一下,即使不写cookie,在使用request.getcookies();取出的cookie数组的长度也是1,而这个cookie的名字就是jsessionid,还有一个很长的二进制的字符串,是sessionid的值。 大家都知道,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的跨站脚本攻击,自然不如session cookie安全了。 通常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了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯