区别:
COOKIE存储在客户端,SESSION存储在服务器端。
COOKIE因为存储在客户端,所以安全性较低,SESSION安全性较高。
COOKIE有大小限制,为4K,仅能存储20个COOKIE,SESSION没有限制。
COOKIE仅支持存储字符串,SESSION可以存储所有类型。
联系:
同样是会话技术。
SESSION依赖于COOKIE,因为HTTP协议是无状态的,所以就算是服务器端保存状态的方案也要在客户端存储一个标识,这个标识存储于COOKIE中,可以通过$_COOKIE['PHPSESSID']查看。
常规上,COOKIE禁用后SESSION不可用,不过可以通过get或post方式将PHPSESSID传递到服务器,这样也能使用SESSION。
每次登录一个网站,下次在浏览时还需要登录的原因就是COOKIE因为没有设置过期时间,所以浏览器关闭后COOKIE就清除了,这样PHPSESSID也就清除了,就算服务器存储了相应的SESSION也找不到了。
网站的记住我的功能有很大的隐患,因为COOKIE存储在客户端,可以很轻易的获取的COOKIE的内容。