区别
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来保存信息,要不然每次登陆都特别麻烦,如果对于需要安全性高以及数据量控制大的站点用会话效果更佳,当然我们也可以两者结合,使网站按照我们的想法进行运行。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。