JavaWeb编程之Cookie
一般cookie存储的信息
- 保存用户的登陆信息
- 创建购物车
- 跟踪用户的行为
##cookie格式与常见属性
- 每条cookie都以key-value的形式。
- key和value都必须是URL编码。
ps:URL编码是一种浏览器用来打包表单输入格式的。
编码规则:- 每对key-value由 &; 符分隔
- 每对来自表单的key-value由=分隔
- 若用户没有输入值给这个key,那么次key在cookie中依旧存在,但与其相对应的value值不存在
- 任何特殊的字符,将以百分号%用十六进制编码–如汉字的url编码,胡的ASCII码是-17670,十六进制是BAFA,url编码是%BA%FA
- 两对cookie间以分号和空格分隔
cookie的缺点
安全性
由于cookie在http中是明文传递的,其中所存储的数据可以被他人访问,可能会被篡改、盗用。
可存储内容大小限制
cookie的大小限制在4kb左右,不适合做大量存储。
增加流量
cookie每次请求都会被自动添加到request header请求头中,无形中增加了流量,cookie信息量越大,对服务器请求时间越长。
附加知识-不同编码中英文所占字节大小
字节(Byte):字节是通过网络传输信息(或在硬盘/内存中存储信息)的单位;1Byte = 8bit。
- ASCII码:一个英文字母为1Byte,一个中文汉字为2Byte;包括英文和中文的标点符号。
- Unicode:一个英文字符占2Byte,一个中文为占2Byte(含繁体)。
- UTF-8:一个英文字符占1Byte,一个中文汉字占3Byte(含繁体)。