1.Cookie 的概念
1.客户端会话技术:Cookie,客户端会话技术,将数据保存到客户端,基于响应头 set-cookie 和请求头 cookie 实现的
2.服务器端会话技术:Session
3.Cookie的实现原理
2.Cookie的生命周期
默认情况下,当浏览器关闭后,Cookie 数据被销毁
设置持久化存储
setMaxAge(int seconds)
正数:将 Cookie 数据写到硬盘的文件中,并指定 Cookie 存活时间,时间到后,Cookie 文件将被自动删除。
负数:默认值
零:删除 Cookie 信息
3.Cookie 能不能存储中文?
在 Tomcat 8 之前,Cookie 中不能直接存储中文数据。
在 Tomcat 8 之后,Cookie 支持中文数据。但特殊字符(如空格)还是不支持,建议使用 URL 编码存储,URL 解码解析。
4.Cookie在不同的项目中能不能共享?
假设在同一个 Tomcat 服务器中,部署了多个 Web 项目,那么在这些 Web 项目中 Cookie 能不能共享?
默认情况下 Cookie 不能共享
设置 Cookie 的获取范围
void setPath(String path)
默认情况下,设置当前的虚拟目录。所以一个项目中,所有 Cookie 共享
如果要在不同项目中共享,则可以将path设置为 “/”
不同的 Tomcat 服务器间 Cookie 能不能共享?
setDomain(String path):如果设置一级域名相同,那么多个服务器之间 Cookie 可以共享
如:setDomain(".baidu.com"),那么 tieba.baidu.com 和 news.baidu.com 中 Cookie 可以共享
5.Cookie的应用
目前cookie最广泛的应用于记录用户登录信息,下一次访问的时候就不用在此输入自己的用户名和密码,当然这种方式方便但也存在用户信息泄密的问题。
6.Cookie 的特点和作用
Cookie 的特点
Cookie 存储数据在客户端浏览器(数据不安全)
浏览器对于单个 Cookie 的大小有限制(4kb)以及对同一个域名下的总 Cookie 数量也有限制(20个)(少量数据)
Cookie 的作用
Cookie 一般用于存储少量的不太敏感的数据
可以在不登录的情况下,完成服务器对客户端的身份识别