cookie和session的原理,分布式场景下如何保持唯一。

这个问题,一开始我觉得自己理解还是足够的,毕竟自己做过网站,爬虫还做了不少,但是说出来的时候,跟自己想象中的很不一样,这里再次总结一下吧。由于HTTP是无状态的协议,一旦数据交换完毕,客户端和服务器的连接就会关闭,如果需要重新连接,那么久必须发起新的会话。所以,在客户端和服务器中保存相关的信息是通过cookie和session来实现的。简单的来说,session存储于服务端,cookie存在于客户端,每次会话时服务器会在内存中开辟一小块内存空间记录会话,session的运行依赖于session id(tomcat中叫jsessionid),而session id是存储在cookie中的,如果浏览器禁用了cookie,那么session也会失效,以大部分登录网站为例,可以试试登录之后禁用cookie,刷新页面,登录信息没了,之后是再怎么登录也登录不进去。所以,需要记录的点是:

1.session存储在服务端,cookie存储在客户端(浏览器); 2.服务端中记录唯一会话标示用的是session id,tomcat中叫做jsessionid,cookie中保存session id,发送请求的时候携带sessionid 3.session存放的位置一般放在服务器的内存中,分布式环境下一般都是用spring-session和redis构建。 4.cookie安全性差,一般采用加密。而且不能跨域。

转自:https://www.cnblogs.com/w1570631036/p/8549333.html

posted @ 2020-04-26 23:31  浮夸不简单  阅读(649)  评论(0编辑  收藏  举报