Cookies
Cookies是服务器发送到用户浏览器并保存在本地的一小块数据,他会在浏览器之后向同一服务器再次发起请求时被携带上,用于告知服务的两个请求是否来自同一浏览器,由于每次请求都会需要携带Cookies数据,因此会带来额外的性能开销。
Session
除了可以将用户的信息通过Cookies存储在用户浏览器中,也可以利用Session存储在服务端,存储在服务的的信息更加安全。 Session可以存储在服务器上的文件,数据库或者内存中,也可以将Session存储在Redis这种内存型数据库中效率会更高。
Cookie与Session选择
- Cookie只能存储ASCLL码字符串,而Session则可以存储任何类型的数据,因此在考虑数据复杂性时首选Session。
- Cookies存储在浏览器中,容易被恶意查看,如果非要将一些隐私数据存储在Cookies中,可以将Cookie值进行加密,然后再服务器进行解密。
- 对于大型网站,如果用户的所有信息都存储在Session中,那么开销是非常大的,因此不建议将所有的用户信息存储到Session中