0

可能重复:
是否有可能知道浏览器是否在第一次访问时启用了 cookie

我正在使用无法在客户端使用 javascript 访问的 HttpOnly cookie。我想知道浏览器是否仅在第一个请求中支持 cookie。是否可以从 http 请求中获取此信息?

4

3 回答 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 回答