关于什么是cookie
关于什么是session
一、区别(面试常考)
- ①Cookie可以存储在浏览器或者本地,Session只能存在服务器
- ②session 能够存储任意的 java 对象,cookie 只能存储 String 类型的对象
- ③Session比Cookie更具有安全性(Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击)
- ④Session占用服务器性能,Session过多,增加服务器压力
- ⑤单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie,Session是没有大小限制和服务器的内存大小有关。
二、结合使用
- 1、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。
- 2、将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。flask采用的就是这种方式,但是也可以替换成其他形式。
参考链接:https://blog.csdn.net/weixin_45393094/article/details/104747360