软件工程4.28
Cookie、Session是两种保存会话的技术
明白会话的概念:
用户打开一个浏览器,访问了多个web资源,再关闭浏览器。这个过程称为会话
如果我们之前访问过某个web资源,当我们再次访问的时候,服务端能够知道我们曾经访问过,那么这个就称为有状态会话
一个网站如何证明你来过?
cookie:服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了(带上指定的信物去拜访某人)客户端为主导
session:服务器登记你来过,下次你来的时候来匹配你(回到你的宿舍,宿舍的门禁会来匹配你)服务端为主导
Cookie
Cookie对象的创建:我们从客户端的req中获取对应的Cookie信息
Cookie[] cookies = req.getCookies();
1
Cookie一般保存在本地的用户目录或者AppData下
一个Cookie只能保存一个信息
一个web站点可以给浏览器发送多个cookie,最多存放20个cookie
cookie大小限制4kb
浏览器上限300个cookie
Session
获取对应的Session信息:登记以后的用户拿到的是SessionID,每个用户唯一,我们拿着SessionID去与服务器进行判定比对
HttpSession session = req.getSession();
1
Session和Cookie的区别:
Cookie是把用户的数据写给用户浏览器,浏览器保存(可以保存多个)
Session把用户的数据写到用户独占Session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)
Session对象由服务器创建