状态管理-Cookie

本文属于原创,如有转载,请标注原作者,版权归本公众号所有。如果你喜欢我写的文章请关注 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只能保存字符串

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180118G036KJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券