我做了一些配置(最终)我的cookie只设置在HTTP上。
"好象"工作。
我已经用postman尝试了它们,我有以下内容:
当我点击登录页面时:
在cookies部分,名为JSESSIONID的cookie似乎只是HTTP(它有支票)
当我进入记录区域时,结果相同......
标题没有给我更多细节。
然后,
我用谷歌浏览器检查它。我打开开发人员工具栏。
我加载了登录页面。
在响应标题的标题上,我得到了
Set-Cookie: JSESSIONID=434434..... HttpOnly
所以,很好(我猜)。
然后我重新加载页面(或登录)。
然后问题:
没有收到回复标题。
请求标头带来我的cookie(前一个用相同的ID),没有我以前设置的httponly,主机信息或任何其他cookie值。
在Cookie标签上,我只获得了请求Cookie,没有响应Cookie。
请求cookie不是仅限http的
在我的资源选项卡中,Cookie就在那里,仅作为HTTP,并且具有我设置的先前值。
我现在的问题是......它是一个真正的纯http cookie吗?或者我的配置没有正确设置?
我是否应始终获取响应cookie或请求cookie应始终仅限http(如果我尝试将其设置为仅限http)或此行为是否正常(或至少已接受)?
当我尝试在两种情况下使用Javascript打印我的cookie时,我得到一个null作为响应(是什么让我觉得它是正确的。)
想法?
答案 0 :(得分:2)
客户端不会将名称和值以外的cookie属性发送回服务器。
另见RFC6265 section 4.2.2(强调我的)。
4.2.2。语义
每个cookie对代表用户代理存储的cookie。该 cookie-pair包含用户代理的cookie-name和cookie-value 在Set-Cookie标题中收到。
请注意,不会返回Cookie属性。特别是, 一个服务器无法单独从Cookie标头确定 cookie将过期,cookie的有效主机为哪个 cookie的路径有效,或者cookie是否设置为 安全或HttpOnly属性。
一切都按照规定行事。