cookie是在HTTP下,服务器或脚本可以维护客户工作站上信息的一种方式。它是由web服务器保存在用户浏览器上的小文件,可以包含有关用户的信息(如身份正识别号码、密码等信息)。
session是指用来在客户端与服务端之间保持状态的解决方案以及存储结构。
区别:
- cookie机制采用的是在客户端保持状态的方案,即数据存放在客户的浏览器上;而session机制采用的是服务端保持状态的方案,即数据放在服务端上。
- cookie安全性不够。由于cookie信息存放在客户端,其他人可以很容易地得到存放在本地的cookie,并进行cookie欺骗;而session信息存放在服务器端,因此较为安全。
- cookie性能更高一些。由于session会在一定时间内保存在服务器上,因此当访问量增多时,会降低服务器的性能。
- 单个cookie保存的数据不能超过4KB,很多浏览器都限制一个站点最多保存20个cookie;而session不存在此问题。
- 鉴于以上区别,一般情况下,将用户登录信息等重要信息存放至session中,而其他需要保存的信息可以放置在cookie中。