【问题标题】:Static Cookieless Domain静态无 Cookie 域
【发布时间】:2011-08-29 21:16:55
【问题描述】:

有人可以向我解释如何设置无 cookie 域吗? 关于这个问题有很多帖子,但我仍然感到困惑。

我了解为静态资源传输会话信息是一种负担,并且希望消除这种开销。我的困惑可能在于实现这个场景是否是

  • 客户
  • 服务器
  • 或两者兼有。

假设用户登录到一个站点(并且登录详细信息存储在一个 cookie 中):

  • 在 HTTP 数据包中,cookie 与要渲染的页面一起设置
  • 当浏览器解释页面,并在标题中遇到对静态资源的引用时,
    • 浏览器生成新的 HTTP 请求来获取这些资源
    • 默认情况下将 cookie 与这些请求一起发送
    • 如何指示浏览器不要对这些资源这样做?

实现此场景的实际方法是设置一个“静态域”。

  • 这只是另一个域或子域:
    • 可以引用原域中的资源,也可以保留副本
    • 并且没有任何脚本,例如 index.php
    • 并且会有一个 .htaccess 来防止目录浏览
  • 我缺少这个“静态”子域的关键属性吗?
    • CNAME 记录怎么了?
    • 有没有办法将域配置为不接受 cookie?
    • 即使有,浏览器如何知道将 cookie 发送到哪些域,哪些不发送?

很多问题。我在这里遗漏了一些重要的东西。希望有人能帮忙。

我正在使用 codeigniter 开发一个网站,如果它有所作为的话。 我使用的网络服务器是一个 cPanel 驱动的 Apache 服务器。

【问题讨论】:

  • 现在我明白了。谢谢你们俩。 cookie 的域指示浏览器 cookie 对哪些域有效。

标签: php codeigniter http-headers apache2 session-cookies


【解决方案1】:

Cookie 具有关联的域。您应该确保您设置的 cookie 的域与您的静态域的域不匹配。

http://en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path

【讨论】:

    【解决方案2】:

    无 cookie 域基本上是特定 cookie 无效的域。作为HTTP cookies can be limited to a specific domain(或超级域及其子域),您应该选择该域,使其与无cookie 域不匹配。

    为此,您需要知道 Domain 属性值是如何解释的:

    • 如果缺少 Domain 属性,则 cookie 仅对指定的域有效。
    • 如果存在 Domain 属性,则其值必须以 . 开头,并且其有效域值是 Domain 属性值,没有前导 . 和它的所有子域。

    【讨论】:

      猜你喜欢
      • 2011-05-21
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 2015-11-16
      • 1970-01-01
      • 2014-02-10
      相关资源
      最近更新 更多