2018年6月6日 下午2:22
重要提示:Charles可以映射(map)后,将domain从.programing.com改为到映射前的localhost地址,但是此时的.programing.com是没有cookie,只存在一份。
- 最开始,只有一个www的站点和一个wap的站点,不存在web网站和wap网站的cookie共享问题。所以,对于cookie的domain,分别设置成www.* .com和wap.* .com就OK了。
- 后来,因为业务的扩大,web站点增加了,比如多了一些blog.* .com、arti.* .com之类,为了实现web站点的cookie共享,就需要对cookie的domain重新设置了。最简单的办法就是将其设置为.* .com。
- 不过,问题就这么产生了,wap网站不能登陆了。因为我叙述的原因,大家可能一下子就能猜到问题的所在,cookie的domain设置有问题?不错,正是在这个地方出问题了。
- 手机对于cookie的访问似乎更加严格,只有url的host部分和cookie的domain完全匹配,它才会将这些cookie发送到服务器端,这样的话,才能保持手机端和服务器端的正常通信。
- 问题找到了,解决办法也非常简单。只要在登陆时对请求的服务器名称进行判断,如果是wap站点的请求,cookie的domain就直接设置成wap.*.com即可。
- 这里也要感谢一个手机浏览器在pc的模拟器——Openwave V7 Simulator,这个软件的console能直接显示request和response的所有内容,因此我才能迅速定位问题的所在。

