本文属于原创,如有转载,请标注原作者,版权归本公众号所有。如果你喜欢我写的文章请关注 java资源社区,欢迎大家继续关注本公众号的技术博文。如果您觉得这篇文章对你有所帮助的话,不妨点个赞哈,您的支持就是我坚持原创的动力~~(微信搜索***关注Java资源社区公众号)
一、Cookie
1、什么是Cookie
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
2、Cookie的原理
3、如何创建Cookie
创建
name:用于区分不同Cookie的名字
value:Cookie的值
4、如何查询Cookie
获取客户端的所有Cookie对象
获取一个Cookie对象的名称或值
5、如何修改Cookie
获取客户端发送的所有Cookie
根据name找到要修改的Cookie
调用Cookie的setValue(String newValue)方法修改该Cookie的值
将修改后的Cookie加入到response发送回客户端
6、cookie的生存时间
默认情况下,浏览器会将Cookie保存在内存中,只要浏览器不关闭,Cookie就一直存在
如果希望关闭浏览器后Cookie仍在,可以通过设置过期时间
注:seconds单位是秒,精度不是很高。
·seconds>0:浏览器要保存Cookie的最长时间为设置的参数值,如果超过指定的时间,浏览器会删除这个Cookie,此时Cookie保存在硬盘上
·seconds=0:删除Cookie。在修改Cookie的生存时间为0后,随着response发送回客户端,替换原有Cookie,因生命周期到了即将该Cookie删除。
·seconds
7、Cookie编码
Cookie只能保存合法的ASCⅡ字符。如果要保存中文,需要要将中文转换成合法的ASCⅡ字符,即编码。
8、Cookie解码
编码后的Cookie为了看到实际的中文,需要还原后再显示
注意:解码中的字符编码格式必须与编码一致。
二、Cookie的路径问题
1、什么是Cookie的路径问题
浏览器在访问服务器上的某个地址时,会比较Cookie的路径与该路径是否匹配,只有匹配的Cookie才会发送给服务器
Cookie的默认路径等于添加这个Cookie的Web组件的路径
如:/appName/file/addCookie.jsp添加了一个Cookie,则该Cookie的路径等于/appName/file
2、发送Cookie的条件
要访问的地址必须是Cookie的路径或者其子路径时,浏览器才会发送Cookie
如:
--Cookie的路径是/appName/file
--则访问/appName/file/a.jsp 或/appName/file/b.jsp时会发送Cookie
--如果访问/appName/c.jsp则不会发送Cookie
3、如何设置Cookie的路径
使用如下代码段可以设置Cookie的路径
三、Cookie的优势与弊端
1、Cookie的优势
可以通过编程控制保存在cookie中的session对象的大小
通过加密和安全传输技术(SSL),减少cookie被破解的可能性
只在cookie中存放不敏感数据,即使被盗也不会有重大损失。
控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。
2、Cookie的弊端
Cookie可以被用户禁止
Cookie会将状态保存在浏览器端,不安全。对于敏感数据,需要加密后再使用Cookie来保存。
Cookie只能保存少量的数据,大约4kb左右
Cookie的个数是有限制的
Cookie只能保存字符串
领取专属 10元无门槛券
私享最新 技术干货