什么时候用cookie什么时候用session?

最近在学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. 实现状态保持的方案: 1)修改Http协议,使得它支持状态保持(难做到) 2)Cookies:通过客户端来保持状态信息 Cookie是服务器发给客户端的特殊信息 cookie是以文本的方式保存在客户端,每次请求时都带上它 3)Session:通过服务器端来保持状态信息 Session是服务器和客户端之间的一系列的交互动作 服务器为每个客户端开辟内存空间,从而保持状态信息 由于需要客户端也要持有一个标识(id),因此,也要求服务器端和客户端传输该标识, 标识(id)可以借助Cookie机制或者其他的途径来保存2. COOKIE机制 1)Cookie的基本特点 Cookie保存在客户端 只能保存字符串对象,不能保存对象类型 需要客户端浏览器的支持:客户端可以不支持,浏览器用户可能会禁用Cookie 2)采用Cookie需要解决的问题 Cookie的创建 通常是在服务器端创建的(当然也可以通过javascript来创建) 服务器通过在http的响应头加上特殊的指示,那么浏览器在读取这个指示后就会生成相应的cookie了 Cookie存放的内容 业务信息("key","value") 过期时间 域和路径 浏览器是如何通过Cookie和服务器通信? 通过请求与响应,cookie在服务器和客户端之间传递 每次请求和响应都把cookie信息加载到响应头中;依靠cookie的key传递。 纯手打,望采纳!!!

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是服务端的技术,客户端不需要关心