静态无Cookie域

时间:2011-05-20 18:23:19

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

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

据我所知,传输静态资源的会话信息非常重要,并希望消除这种开销。我的困惑可能在于实现这个场景是否是

的配置
  • 客户端
  • 服务器
  • 或两者。

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

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

实现此方案的事实方法是设置“静态域”。

  • 这只是另一个域或子域:
    • 可以引用原始域中的资源,或保留重复的
    • 并且没有任何脚本,例如index.php
    • 并且会有.htaccess来阻止目录浏览
  • 我缺少这个'静态'子域的关键属性吗?
    • CNAME记录有什么用?
    • 有没有办法让域名不接受Cookie?
    • 即使有,浏览器如何知道哪些域发送cookie,哪些域不发送?

很多问题。我错过了一些关键的东西。希望有人可以提供帮助。

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

2 个答案:

答案 0 :(得分:3)

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

要做到这一点,您需要知道如何解释 Domain 属性值:

  • 如果缺少 Domain 属性,则Cookie仅对指定的域有效。
  • 如果 Domain 属性存在,则其值必须以.开头,其有效域值为 Domain 属性值,不带前导{{ 1}}及其所有子域。

答案 1 :(得分:2)

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

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