cookie与session的区别

47次阅读

共计 1012 个字符,预计需要花费 3 分钟才能阅读完成。

区别

1、cookie 数据以文件格式存储在浏览器上,存储量有限,不能超过 4k;session 数据存储在服务器上,可以无限量存储多个变量并且比 cookie 更安全;

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

3、我们可以轻松访问 cookie 值但是我们无法轻松访问会话值,因此它更安全

4、设置 cookie 时间可以使 cookie 过期。但是使用 session-destory()(session 也可以设置过期时间),将会销毁会话。

5、cookie 会存储在浏览器的 Request Headers(请求头)里,session 不会。

cookie

存在于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们比如我们在网页上登录某个软件时输入用户名及密码时如果保存为 cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且还可以随时随地的去阻止它或者删除。同样也可以禁用或者编辑 cookie,但是有一点需要注意不要使用 cookie 来存储一些隐私数据,以防隐私泄露。

session

session 称为会话信息,位于 web 服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求 http 地址时,将传递到 web 服务器上并与访问信息进行匹配,当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站。

cookie 和 session 的联系

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

在购物网站中通常将用户加入购物车的商品联通 sessionid 记录到数据库中,当用户再次访问时,通过 sessionid 就可以查找到用户上次加入购物车的商品。因为 sessionid 是唯一的,记录
到数据库中就可以根据这个查找了。

总结分析

如果我们需要经常登录一个站点时,最好用 cookie 来保存信息,要不然每次登陆都特别麻烦,如果对于需要安全性高以及数据量控制大的站点用会话效果更佳,当然我们也可以两者结合,使网站按照我们的想法进行运行。

相关资料

cookie 与 session 的区别与联系
cookie 与 session 的区别是什么

正文完
 0