小伙伴们在改造已有项目的时候会碰到自己的响应头中包含了set-cookie失效不起作用这类的信息。导致我们服务端的某些功能不能使用,比如“认证”,“权限”等。
小编在这里罗列一下可能发生的问题。共大家排查。
Domain问题
这是由于你返回的set-cookie指令中的Domain属性设置的值无法与你当前请求网站的域名相对应,所以浏览器忽略了set-cookie指令,没有存储在本地的cookie中。
例如:请求路径为localhost。但是set-cookie指令中的Domain属性设置为127.0.0.1就是错误的。
Cookie前缀问题
在set-cookie指令中包含 __Secure- 或 __Host- 前缀的 cookie,只可以应用在使用了安全连接(HTTPS)的域中,需要同时设置 secure 指令。另外,假如 cookie 以 __Host- 为前缀,那么 path 属性的值必须为 “/” (表示整个站点),且不能含有 domain 属性。对于不支持 cookie 前缀的客户端,无法保证这些附加的条件成立,所以 cookie 总是被接受的。
// 当响应来自于一个安全域&