JavaWeb之cookie缓存技术
来源:互联网 发布:淘宝摇一摇在哪里 编辑:程序博客网 时间:2024/06/14 14:48
web应用的会话技术:打开浏览器并访问网站,请求多个资源,关闭浏览器的过程。
在这个过程中,缓存用户数据常用的有两种技术:
1.cookie技术:用于在浏览器端,缓存用户的数据,可以理解为数据缓存在用户本地
2.session技术:用于在服务端,缓存用户的数据,可以理解为数据缓存在服务器。
cookie技术:
1.服务器需要缓存数据,将数据发给浏览器,浏览器对缓存数据进行存储;当浏览器再次访问服务器的时间后,会将缓存信息,一起发给服务器.
2.cookie技术的原理图解:
根据上图分析如下:
上述abcde进详细的描述了cookie在浏览器和服务器之间传递和保存的过程图。a.首先浏览器先向服务器发送请求,服务端接受请求,并需要浏览器去缓存一些信息。于是创建cookie对象b.将cookie对象添加到response响应对象中,然后通过http协议发送给浏览器。c.浏览器接受响应信息,同时浏览器将cookie信息,保存到cookie文件中,同样以名称=值的方式保存d.当浏览器再次发送请求到服务器的时候,会将cookie信息一同通过http协议发送到服务端。e.服务端就可以获取之前存储的cookie信息了。
3.相关类
Javax.servlet.http.cookie
a.服务器能发送少量的数据到浏览器b. 每一个web服务器只能向用户发送20个cookiec.一个浏览器可以缓存300个cookied.每一个cookie文件最大值为4k
e.cookie名称和内容不支持中文,如果需要使用中文需要编码,获得数据进行解密* 方案1: (get请求的中文乱码的处理方式一致的)
* 编码:str.getBytes() 使用,将字节数组拼凑成字符串(1,2,3,4)* 再解码: 字符串1,2,3,4变成字节数组,new String
* 方法2:
* 编码:URLEncoderURLEncoder.encode(cn, "UTF-8");
4.cookie生命周期* 解码:URLDecoderURLDecoder.decode("%E9%BE%99%E5%84%BF", "UTF-8");
默认情况:会话级cookie,会话结束后,cookie将被销毁
浏览器处理cookie依据修改有效时间:setMaxAge,单位为秒>0 ,指定x秒后失效,将以文件形式保存浏览器端(在硬盘中)=0 ,浏览器将删除cookie<0 ,会话级cookie,在内存中
唯一标记格式:domain + path + name
cookie名称可以重复
路径设置
getCookies() 获得所有符号要求的cookiesetPath("路径")/ web站点根/day10/ web项目根例如:http://localhost:8080/day10/a/b/c/Demo01CookieServlet默认路径:/day10/a/b/c/
浏览器将携带当前访问路径,已经父路径下的所有cookie
此处符合要求的路径
/day10/a/b/c/
/day10/a/b/
/day10/a/
/day10/
/
/day11/ 不能获得day11目录下的cookie
路径常用设置:setPath("/")
域名设置domain (了解)
setDomain("域名") , setDomain(".itheima.com")
默认域名:localhost
二级域名例如:
www.itheima.com
bbs.itheima.com
v.itheima.com
download.itheima.com
扩展:
cookie只能http协议使用,false表示javascript也可以使用
cookie.setHttpOnly(true);
cookie缓存技术实现的用户浏览商品记录案例
0 0
- JavaWeb之cookie缓存技术
- JavaWeb之-------------网页中的Cookie技术
- JavaWeb之会话技术Cookie&Session
- javaweb中的cookie技术
- JavaWeb 之 Cookie详解
- JavaWeb之Cookie
- javaWeb笔记之Cookie
- JavaWeb学习心得之Cookie
- JavaWeb之Cookie详解
- JavaWeb之Cookie&&Session详解
- Javaweb之cookie和session
- Javaweb之cookie和session
- javaWeb之Cookie和Session
- 十二.javaweb之Cookie学习
- Javaweb核心之session&cookie
- Javaweb基础之cookie&session
- 缓存之cookie
- JavaWeb开发中的会话技术[Cookie/Session]
- csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)
- 1>LINK : fatal error LNK1561: 必须定义入口点
- NDK 与 JNI 的关系
- 《大话设计模式》—— 读后感(23)烤羊肉串引来的思考——命令模式
- 热烈庆祝本人博客突破20000大关
- JavaWeb之cookie缓存技术
- Ubuntu 12.04 LTS 查看网关地址方法汇总
- 智能家居时代能给我们带来什么?
- ASP.net中网站访问量统计方法
- 利用Anaconda搭建python科学计算环境及交互图形操作示例
- 4 Foundation和带属性的字符串(3)
- 干得累死,并不见得老板就待见你?
- 调整积极的工作心态
- Accelerated C++学习笔记2—<使用字符串>