最近在学cookie跟session,感觉cookie可以解决大部分需求,所以想问问session
到底是什么场景下使用的,有大神解释一下吗,举例说明
可以举个例子吧,类似一个qq,你的用户名密码就是保存在cookie里面,然后用户的聊天信息或者其他系统设置信息都是保存在session里面的,就是当用户换一个服务器运行时,这些信息保持一致。
cookie和session的区别如下:
1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。
2、session中保存的是对象,cookie中保存的是字符串。
3、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
4、session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。
应用场景如下:
1.session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,
2.persistent cookies和session cookie的区别了,网上那些关于两者安全性的讨论也就一目了然了,session cookie针对某一次会话而言,会话结束session cookie也就随着消失了,而persistent cookie只是存在于客户端硬盘上的一段文本(通常是加密的),而且可能会遭到cookie欺骗以及针对cookie的跨站脚本攻击,自然不如 session cookie安全了。
3.通常session cookie是不能跨窗口使用的,当新开了一个浏览器窗口进入相同页面时,系统会赋予一个新的sessionid,这样信息共享的目的就达不到了,可以先把sessionid保存在persistent cookie中,然后在新窗口中读出来,就可以得到上一个窗口SessionID了,这样通过session cookie和persistent cookie的结合就实现了跨窗口的session tracking(会话跟踪)。
你感觉的对,其实大部分需求cookie都可以解决。不过cookie存储长度小,session相对大一些。
我曾经研究过一个play的小众框架,他就是把cookie替代了session。
cookie 会把请求的相关内容保存在客户端浏览器中 每次访问会从本地取带到服务端
session 则是在服务器端保存请求的相关信息 由于保存在服务器端 不建议保存很多东西
cookie基于浏览器,session服务器
那种百度过来的,我都看过了,但是都是说2者的区别,并没有说 实际应用场景,我想得到的答案是 实际的应用场景,比如项目里面的。
要区分什么时候用session,什么时候用cookie
你首先要明白两者的区别,然后根据你的需求来决定用什么
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
cookie基于浏览器 存储长度小,session服务器存储长度大
一般是在记忆网站足迹这一功能,例如商城网店的购物车(用户未登陆的情况)去收藏商品,下次登陆依然有这个购物车
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/sessions
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
你自己看一下比较一下就知道啦
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
session是在同一个窗口有效,cookie是跨窗口有效
作者:知乎用户
链接:https://www.zhihu.com/question/31079651/answer/136106134
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。
2、session中保存的是对象,cookie中保存的是字符串。
3、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
cookie基于浏览器 存储长度小,session服务器存储长度大
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
session也是基于cookie实现的,不存在使用谁的问题。session是服务端的技术,客户端不需要关心