-
客户端发送请求给服务器
-
服务器发送响应头set-cookie并携带数据给客户端
-
客户端将响应头携带的数据保存到客户端浏览器中
-
下一次请求服务器会使用消息头cookie数据携带给服务器
-
服务器获取消息头中的数据
3、Cookie 特点
-
一次可以创建多个 Cookie 对象
-
Cookie 在浏览器中保存的时间问题:
-
默认情况下,当浏览器关闭后,Coolie 数据被销毁
-
设置持久化数据:setMaxAge(int seconds)
-
参数为正数时:将 Cookie 数据写到硬盘的文件中,持久化数据,参数表示存储的时间
-
参数为负数时:默认就是负数,关闭浏览器再次打开就没有了数据
-
参数为零时:删除 Cookie 数据
-
在 Tomcat8之后,Cookie 支持中文数据,但对于特殊字符如空格,需要进行URL编码和转码
-
URL编码:URLEncoder.encode(str,“utf-8”)
-
URL解码:URLDecoder.decode(str,“utf-8”)
-
浏览器对于单个 Cookie 的大小有限制(4kb),对于同一个域名下的总 Cookie 数量也有限制(20个)
4、Cookie 共享问题
-
同一服务器下设置共享范围: