背景:
服务端设置cookieres.setHeader("Set-Cookie", "session_id=1"); //设置cookie
客户端可以在响应头上看到cookie
问题是cookie并没有保存到本地
出现这样的原因是cookie的设置不正确导致的
其中下面这一项必须设置不然浏览器将只把cookie放在内存中不会存在本地
Path=<path-value> 可选
指定一个 URL 路径,这个路径必须出现在要请求的资源的路径中才可以发送 Cookie 首部。字符 %x2F ("/") 可以解释为文件目录分隔符,此目录的下级目录也满足匹配的条件(例如,如果 path=/docs,那么 "/docs", "/docs/Web/" 或者 "/docs/Web/HTTP" 都满足匹配的条件)。
mdn上说path这一项是可选项,但是如果你是手动在response响应头上添加
cookie的这一项必须设置,我试过很多次了,这一项不设置浏览器必定不会保存cookie
正确的设置示例
res.setHeader("Set-Cookie", "session_id=xxx;expires: new Date(Date.now() + 900000);HttpOnly;Path=/")