Cookie设置路径引发的问题-2021-09-12
今天项目上线,遇到两个问题
安卓和苹果客户端同时上线,苹果客户端一切正常,安卓客户端却一堆请求报错。
查看后端日志发现:苹果客户端通过header设置灰度标识GRAY可以正常请求到后端灰度服务器,而安卓客户端却不可以;
第一反应是安卓客户端的代码没有往header设置灰度标识GRAY,便去确认打包安卓的代码分支,后来确认了打包的代码分支的代码中是包含往header设置灰度标识GRAY的代码的,最后发现安卓客户端的代码API使用错了,设置的灰度标识GRAY没有真正设置到header中…让人无语
第二个问题:苹果客户端请求一个静态资源正常,而安卓客户端请求这个资源却乱码,经确认,非灰度服务器存放的这个静态资源确实有问题,所以问题又指向了没有访问到灰度的WEB服务器,原因是setCookie的时候设置的路径是https://www.xxxxxxx.com.cn/BackendServerName/,而静态资源所在的路径是https://www.xxxxxxx.com.cn/WebServerName/staticResource.html
网上查了下资料,
设置cookie的有效访问路径。有效路径指的是cookie的有效路径保存在哪里,那么浏览器在有效路径下访问服务器时就会带着cookie信息,否则不带cookie信息。
由上可知,setCookie的时候设置的路径是https://www.xxxxxxx.com.cn/BackendServerName/,而静态资源所在的路径是https://www.xxxxxxx.com.cn/WebServerName/staticResource.html, 自然在访问WebServerName/staticResource.html时不带这个cookie信息了。
假如设置cookie的路径是https://www.xxxxxxx.com.cn/ 那它底下的所有路径都可以带这个cookie了…
特此记录,虽然我没学过客户端开发。