Cookie概念: Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务器相关的信息. 而且, 浏览器一般只允许存放300个Cookie, 每个站点最多存放20个, 而且, 每个Cookie的大小现在在4K, 根本不会占用多少空间. 并且, Cookie是有时效性质的. 例如, 设置了Cookie的存活时间为1分钟, 则一分钟后这个Cookie就会被浏览器删除
Cookie版本:
目前有两个版本:
版本0 : 由Netscape公司制定的,也被几乎所有的浏览器支持. Java中为了保持兼容性, 目前只支持到版本0, Cookie的内容中不能空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号。
版本1 : 根据RFC 2109文档制定的. 放宽了很多限制. 上面所限制的字符都可以使用. 但为了保持兼容性, 应该尽量避免使用这些特殊字符.
JSP中对Cookie的操作:
类型 | 方法名 | 方法解释 | String | getComment() | 返回cookie中注释,如果没有注释的话将返回空值. | String | getDomain() | 返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始 | int | getMaxAge() | 返回Cookie过期之前的最大时间,以秒计算。 | String | getName() | 返回Cookie的名字 | String | getPath() | 返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。 | boolean | getSecure() | 如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。 | String | getValue() | 返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。 | int | getVersion() | 返回Cookie所遵从的协议版本。 | void | setComment(String purpose) | 设置cookie中注释 | void | setDomain(String pattern) | 设置cookie中Cookie适用的域名 | void | setMaxAge(int expiry) | 以秒计算,设置Cookie过期时间。 |
|