Cookie 和Session

Cookie 和session的区别:

  1. 数据存放位置不同:

cookie数据存放在客户的浏览器上,session数据放在服务器上

  1. 安全程度不同:

cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

  1. 性能使用程度不同:

session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

  1. 数据存储大小不同:

单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie,而session则存储与服务端,浏览器没有限制

cookie和session的联系:

  1. session是通过cookie来工作的
  2. session和cookie之间是通过$_COOKIE[‘PHPSESSID’]来联系的
  3. 通过$_COOKIE[‘PHPSESSID’]可以知道session的id,从而获取到其他的信息

cookie和session结合使用:

  1. 存储在服务端:通过cookie存储一个session_id,然而具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_di,下次再请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。
  2. 将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。 Flask采用的就是这中方式,但是也可以替换成其他形式。

 

posted on 2020-03-19 13:42  duanfengna  阅读(113)  评论(0)    收藏  举报