踩坑日记之Set-Cookie

7月16日14点
南京 多云
心情 好烦躁。

和往常一样使用着vue的代理请求功能,噼里啪啦一顿写,然后一调试302,人傻了。盯着代码看了许久,没发现问题。
然后看了看Set-Cookie 头,path属性设置了路径,,,,,啊,,问题就是出在这里。我的代理配置是自定义了代理拦截路径,然后重写的,这样写cookie就设置不了了,真是大意了。这里必须记一笔,以后多加注意。

Path
Path属性可以为服务器特定URL指定Cookie,这个属性设置的url且带有这个前缀的url路径都是有效的。
就是用来设置cookie的路径。如果不设置,浏览器会将其自动设置为当前请求的路径。比如,浏览器请求的地址是/login,服务器响应了一个set-cookie: a=1,浏览器会将该cookie的path设置为请求的路径/login。

domain
设置cookie的域。如果不设置,浏览器会自动将其设置为当前的请求域。
设置的就是,比如,浏览器请求的地址是‘http://xxx’,服务器响应了一个set-cookie: a=1,浏览器会将该cookie的domain设置为请求的域‘http://xxx’

expire
设置cookie的过期时间。这里必须是一个有效的GMT时间,即格林威治标准时间字符串,比如Fri, 17 Apr 2020 09:35:59 GMT,表示格林威治时间的2020-04-17 09:35:59,即北京时间的2020-04-17 17:35:59。当客户端的时间达到这个时间点后,会自动销毁该cookie。

max-age
设置cookie的相对有效期。expire和max-age通常仅设置一个即可。比如设置max-age为1000,浏览器在添加cookie时,会自动设置它的expire为当前时间加上1000秒,作为过期时间。
如果不设置expire,又没有设置max-age,则表示会话结束后过期。
对于大部分浏览器而言,关闭所有浏览器窗口意味着会话结束。

secure
设置cookie是否是安全连接。如果设置了该值,则表示该cookie后续只能随着https请求发送。如果不设置,则表示该cookie会随着所有请求发送。

httponly
设置cookie是否仅能用于传输。如果设置了该值,表示该cookie仅能用于传输,而不允许在客户端通过JS获取,这对防止跨站脚本攻击(XSS)会很有用

你可能感兴趣的:(踩坑日记之Set-Cookie)