菜逼学习笔记:Cookie

本文详细介绍了Cookie的工作原理,包括其如何在浏览器与服务器间传递、如何设置及读取Cookie,以及Cookie的作用范围等关键技术细节。

Cookie机制采用的是在客户端保持HTTP状态信息的方案

Cookie是在了浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一个晓文本文件

一旦WEB浏览器保存了某个Cookie,那么它在以后每次访问该WEB服务器时都会在HTTP请求头中将这个Cookie回传给WEB服务器。

底层的实现原理:WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段将Cookie信息发送给浏览器,浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。

一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。

一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个站点提供的Cookie。

浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4kb。

Cookie的发送:

如果创建了一个Cookie,并将他发送到浏览器中,默认情况下他是一个会话级别的cookie,存储在浏览器的内存中,用户退出浏览器后被删除,若要浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间,若将最大时效设置为0就是命令浏览器删除该cookie,若为负数表示不存储该cookie

发送cookie需要使用HttpServletResponse的addCookie方法,将cookie插入到一个Set-Cookie HTTP响应报头中。由于这个方法并不修改任何之前指定的Set-Cookie报头,而是创建新的报头,所以这个方法为addCookie而不是setCooke。


Cookie的作用范围:可以作用当前目录和当前目录的字子目录,但不能作用于当前目录的上一级。

可以通过SetPath()方法来设置Cookie的作用范围, / 代表站点的根目录。


Cookie的读取:

1.调用request.getCookies

要获取浏览器发送来的cookie,需要调用HttoServletRequest的getCookies方法,这个调用返回Cookie对象的数组,对应由HTTP请求中Cookie报头输入的值。

2.对数组进行循环,调用每个cookie的getName方法,知道找到你要的cookie为止。



//获取Cookie

Cookie[] cookies=request.getCookies();
if(cookies != null&&cookies.length>0){
for(Cookie cookie: cookies){     //遍历
//获取cookie的name和value
out.print(cookie.getName()+":"+cookie.getValue()); 
out.print("<br>");
}
}else{
out.print("没有一个Cookie,正在创建并返回");
//1.创建一个Cookie对象
Cookie cookie = new Cookie("name","aaa");
cookie.setMaxAge(60);
//2.调用response的一个方法把Cookie传给客户端
response.addCookie(cookie);
}

Cookie的作用范围:可以作用当前目录和当前目录的字子目录,但不能作用于当前目录的上一级

可以通过SetPath方法来设置Cookie的作用范围, / 代表站点的根目录

先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值