Cookie和Session

保存会话的两种技术

cookie

  • 客户端技术
    • 服务器通过响应发给客户端
    • 客户端通过请求传给服务端

session

  • 服务器技术,利用这个技术可以保存用户的会话信息
  • 我们可以把信息或者数据放在Session中

常见的例子:网站登录后,下次不用登录

Cookie

  1. 从请求中拿到Cookie
  2. 服务器响应给客户端Cookie

Cookie[] cookies = req.getCookies(); //获得Cookie

cookie.getName(); //获得cookie中的key

cookie.getValue(); //获得cookie中的vlaue

new Cookie("lastLoginTime", System.currentTimeMillis()+""); //新建一个cookie

cookie.setMaxAge(24*60*60); //设置cookie的有效期

resp.addCookie(cookie); //响应给客户端一个cookie

Cookie:一般会保存在本地的用户目录appdata下

一个网站Cookie是否存在上线 聊聊细节问题

  • 一个Cookie只能保存一个信息
  • 一个web站点可以给浏览器发送多个Cookie,最多存放20个Cookie
  • Cookie大小有限制4kb
  • 浏览器上限300个Cookie

删除Cookie:

  • 不设置有效期,关闭浏览器,自动失效
  • 设置有效期时间为:0


Session和Cookie的区别

  • Cookie是把用户的数据写给用户的浏览器,浏览器保存
  • Session把用户的数据写到用户独占Session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)。此外,Session中还可以保存一些别的信息
  • Session对象由服务器创建
上一篇:JAVA CDI 学习(5) - 如何向RESTFul Service中注入EJB实例


下一篇:c/c++内存机制(一)(原)