实现用户登录到底使用cookie还是session?

我们一般都知道 cookie 是存在浏览器端的,session 是存在服务端的,但是实现用户登录具体是怎么用这两个东西的呢,今天来详细的说一下!

实现登录的两种方式

方式一:存储在客户端
将用户数据加密,然后存储在cookie中。这种专业术语叫做client side session。flask采用的就是这种方式,但是也可以替换成其他形式。

方式二:存储在服务端
通过 session 得到一个 session_id 存储在 cookie 中,然后具体的数据则是保存在服务器 session 中。如果用户登录完成,则服务器会在 cookie 中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。

如何判断使用哪种方式

cookie 保存在客户端,不占用服务器资源,对于并发比较高的网站,建议使用方式一,如一些论坛之类的

session 是保存在服务端的,每个用户都会产生一个session,并发访问多的话,每个用户都会生成session,消耗内存,所以对于并发不高的网站,如后台管理系统,可以使用 session,更安全

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章