Web通讯须要一种语言,就像中国人讲中文,欧美说英文,Web使用的HTTP协议,也叫超文本协议。java
使用HTTP协议的人分为两类:客户端和服务端。请求资源的角色是客户端,提供资源的是服务端。redis
HTTP协议是一个很神奇的东西,他只负责说话,至于说了什么他也不知道。因此HTTP是无状态的协议。数据库
HTTP是没有状态,可是人们是有记忆的,人们想让HTTP记住某些东西,而后就提出几种解决方案:编程
cookie是小段的文本信息(微型redis数据库),大小为4kb左右,放在浏览器的内存或者磁盘中,能够设置存活时间,浏览器关闭就消失了。除非保存在磁盘。api
Cookie c = new Cookie("userID", "a1234"); c.setMaxAge(60*60*24*7); response.addCookie(c)
String cookieName = "userID"; Cookie[] cookies = request.getCookies(); if(cookies != null){ for(Cookie cookie : cookies){ if(cookieName.equals(cookie.getName())){ doSomethingWith(cookie.getValue()); } } }
存在服务器内存的文本信息(微型redis数据库)浏览器
HttpSession session = request.getSession;
pubic Object getAttribute(String name); //根据name 获取属性的值 public void setAttriute(String name, Object value); //设置一个名称和对应的值 public void logout() //将会话从客户端注销
cookie | session |
---|---|
存在浏览器 | 存在服务端 |
安全系数低 | 较安全 |
<< servlet与jsp核心编程 >>安全
<< servlet和jsp学习指南 >>服务器
<< 图解HTTP >>cookie