【问题标题】:Is it possible to know if browser has cookies enabled on the very first access是否有可能知道浏览器是否在第一次访问时启用了 cookie
【发布时间】:2011-02-21 09:23:02
【问题描述】:

在第一次访问网站时,是否可以通过 GET 请求知道浏览器 cookie 是否被激活?

在 J2EE 环境中是否有可能?服务器端(无ajax/js方案)

【问题讨论】:

    标签: java web-applications jakarta-ee cookies


    【解决方案1】:

    简短回答:不。

    HTTP 请求根本不携带这种信息。它只能通过尝试向客户端发送一个并查看它是否使用它来隐式测试。可能还有各种 javascript 选项,但您明确不想要其中之一。

    【讨论】:

    • +1 很遗憾,这是真的。如果在AcceptAccept-EncodingAccept-Language 等标头的行中有一个Accept-Cookie 标头,那就太好了。 w3.org/Protocols/rfc2616/rfc2616-sec14.html 但是没有。 :-(
    【解决方案2】:

    您可以发送带有第一页的 cookie,然后重定向到某个索引。如果有人试图在没有 cookie 的情况下首先获取页面,那么它不支持它。

    【讨论】:

    • 有趣的解决方案,不是第一次访问,但足够接近,+1
    • 第一次访问他说。
    • @T.J.克劳德:所以我有一个坏消息要告诉他。 HTTP 是无会话协议,没有“第一”、“第二”或任何其他定义的访问。所以我建议将“访问首页”算作“首次访问”
    • 浏览器会接受 302 响应中的 cookie 吗?这可能是一个很好的妥协,对用户来说是不可见的。当然,它不会捕捉到有人直接访问第二页(书签,通过电子邮件/facebook/其他任何方式的链接),所以如果这是一个交易破坏者,他就不走运了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    相关资源
    最近更新 更多