CookieMonster的职责
1、处理服务端的响应,确保回来的cookie是正确的并存储
cookie的路径必须是正确的(包含本地的和网络的)
cookie的路径中的预警必须是他所接受的域名中的部分
2、当服务端需要cookie的时候,收集
cookie的域名必须是服务端主机名的部分
cookie的路径必须是请求路径的前缀
cookie没有过期
3、cookie存储量的限制
CookieMonster Structure
CookieMonster中重要的数据结构的关系草图

草图中重要的三个类:
CookieStore:存取cookie的抽象类
CookieMonster:处理cookie的变化,发生改变的通知及永久存储
SQLitePersistentCookieStore: 永久存储
CookieMonster中最重要的成员变量是cookies_ ,其是一个multipmap,key是etld+1(初步理解为域名中www.后的部分),值可以是多个CanonicalCookie;
SQLitePersistentCookieStore内部有一个队列,当有永久的cookie被CookieMonster通知的时候,首先加入队列,队列满之后入库,或者在30分后批量跟新。