栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Cookie

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Cookie

什么是cookie

cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客 户端浏览器颁发一个cookie。客户端浏览器会把cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该cookie一同提交给服务 器。服务器检查该cookie,以此来辨认用户状态。服务器还可以根据需要修改cookie的内容。

注意:cookie功能需要浏览器的支持。如果浏览器不支持cookie或者cookie被禁用了,cookie功能就会失效。

cookie的作用

由于web程序是使用HTTP协议传输的,而HTTP协议是无状态的协议,对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答比较快.

cookie的工作原理

给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。

cookie的不可跨域名性

cookie在客户端是由浏览器来管理的。浏览器能够保证IE只会操作IE的cookie而不会操作 Google的cookie,从而保证用户的隐私安全。浏览器判断一个网站是否能操作另一个网站cookie的依据是域名。IE与Google的域名 不一样,因此IE不能操作Google的cookie。

Unicode编码:保存中文

中文与英文字符不同,中文属于Unicode字符,在内存中占4个字符,而英文属于ASCII字符,内存中只占2个字节。cookie中使用Unicode字符时需要对Unicode字符进行编码,否则会乱码。

提示:cookie中保存中文只能编码。一般使用UTF-8编码即可。不推荐使用GBK等中文编码,因为浏览器不一定支持,并且Javascript也不支持GBK编码。

base64编码:保存二进制图片

cookie不仅可以使用ASCII字符与Unicode字符,还可以使用二进制数据。例如在cookie中使用数字证书,提供安全度。使用二进制数据时也需要进行编码。

cookie的有效期

cookie的maxAge决定着cookie的有效期,单位为秒(Second)。cookie中通过getMaxAge()方法与setMaxAge(int maxAge)方法来读写maxAge属性。如果maxAge属性为正数,则表示该cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的 cookie持久化,即写到对应的cookie文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该cookie仍然有效。 代码中的cookie信息将永远有效。如果maxAge为负数,则表示该cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该 cookie即失效。maxAge为负数的cookie,为临时性cookie,不会被持久化,不会被写到cookie文件中。cookie信息保存在浏 览器内存中,因此关闭浏览器该cookie就消失了。cookie默认的maxAge值为–1。如果maxAge为0,则表示删除该cookie。cookie机制没有提供删除cookie的方法,因此通过设置该cookie即时失效实现删除cookie的效果。失效的cookie会被浏览器从cookie文件或者内存中删除,

cookie的缺陷

①数量受到限制。一个浏览器能创建的 cookie 数量最多为 300 个,并且每个不能超过 4KB,每个 Web 站点能设置的cookie 总数不能超过 20 个

②HTTP协议不仅是无状态的,而且是不安全的。使用HTTP协议的数据不经过任何加密就直接在网络上传播,有被截获的可 能。使用HTTP协议传输很机密的内容是一种隐患。

③浏览器可以禁用cookie,禁用cookie后,也就无法享有cookie带来的方便。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号