我正在使用无法在客户端使用 javascript 访问的 HttpOnly cookie。我想知道浏览器是否仅在第一个请求中支持 cookie。是否可以从 http 请求中获取此信息?
问问题
1792 次
3 回答
3
您需要来自浏览器的两个请求,一个用于设置测试 cookie,另一个用于读取它,尽管如果第一个请求返回重定向,则可以自动执行第二个请求。
于 2012-10-01T08:56:35.290 回答
0
如果您想通过一个请求从服务器端决定实际客户端是否支持 HTTP cookie 保存,那么很遗憾,答案是否定的,您不能。
尽管您可以在第一个请求中发送 HTTP cookie,然后在第二个请求中检查 cookie 是否已保存。但请注意,这并不能保证 cookie 的过期设置是否已被接受。
例如,您想存储一个 HTTP cookie 一年,但客户端只接受会话 cookie。在这种情况下,在第二个请求中您将看到您的 cookie,但如果用户关闭他的浏览器,则在下一个请求中将没有 cookie。
于 2012-10-01T08:58:54.307 回答
0
在第一次初次联系时(例如用户之前从未访问过您的网站或清除了所有 cookie) - 没有。但是,如果您发送带有第一个响应的 cookie,那么您会分析 cookie 是否在下一个请求中返回。如果用户最近访问了您的站点并且启用了 cookie,那么您可以在此会话中通过第一个请求来检测它。
一般来说,下一个请求是任何请求 - 它可以是第一个请求加载的内容所引用的图像或 css 文件。
于 2012-10-01T08:59:57.570 回答