浏览器和应用服务交互,通常都是经过 Http 协议交互的。Http 协议是无状态的,浏览器和服务器交互完数据,链接就会关闭,每一次的数据交互都要从新创建链接。即服务器是没法辨别每次是和哪一个浏览器进行数据交互的。html
为了肯定会话中的身份,就能够经过建立 session 或 cookie 进行标识。java
二者区别:面试
- session 是在服务器端记录信息;cookie 是在浏览器端记录信息
- session 保存的数据大小取决于服务器的程序设计,理论值能够作到不限;单个 cookie 保存的数据大小不超过4Kb,大多数浏览器限制一个站点最多20个cookie
- session 能够被服务器的程序处理为 key - value 类型的任何对象;cookie 则是存在浏览器里的一段文本
- session 因为存在服务器端,安全性高;浏览器的 cookie 可能被其余程序分析获取,因此安全性较低
- 大量用户会话服务器端保存大量 session 对服务器资源消耗较大;信息保存在 cookie 中缓解了服务器存储用信息的压力
通常实际使用中,都是把关键信息保存在 session 里,其余信息加密保存到cookie中。小程序
原文连接
浏览器
