session和cookie有什么区别?

浏览器和应用服务交互,通常都是经过 Http 协议交互的。Http 协议是无状态的,浏览器和服务器交互完数据,链接就会关闭,每一次的数据交互都要从新创建链接。即服务器是没法辨别每次是和哪一个浏览器进行数据交互的。html

为了肯定会话中的身份,就能够经过建立 session 或 cookie 进行标识。java

 

二者区别:面试

  • session 是在服务器端记录信息;cookie 是在浏览器端记录信息
  • session 保存的数据大小取决于服务器的程序设计,理论值能够作到不限;单个 cookie 保存的数据大小不超过4Kb,大多数浏览器限制一个站点最多20个cookie
  • session 能够被服务器的程序处理为 key - value 类型的任何对象;cookie 则是存在浏览器里的一段文本
  • session 因为存在服务器端,安全性高;浏览器的 cookie 可能被其余程序分析获取,因此安全性较低
  • 大量用户会话服务器端保存大量 session 对服务器资源消耗较大;信息保存在 cookie 中缓解了服务器存储用信息的压力
     

通常实际使用中,都是把关键信息保存在 session 里,其余信息加密保存到cookie中。小程序


原文连接
 浏览器


相关文章
相关标签/搜索