【问题标题】:Use cookie-free domains - subdomain solution not working使用无 cookie 域 - 子域解决方案不起作用
【发布时间】:2014-02-21 15:54:35
【问题描述】:

我正在尝试优化一个 html 网页,yslow 的建议之一是:

使用无 cookie 域 有 11 个组件不是 无cookie

所以我遵循了我见过的标准解决方案之一,并创建了一个子域 static.mysite.com 并将图像放在那里。

但我仍然遇到完全相同的问题 - 每个图像仍在传送一个 cookie,以及相同的 yslow 消息。

那么如何让这个子域不使用 cookie?

【问题讨论】:

  • 我投票结束这个问题,因为它不是一个编程问题,而且它在 Stack Overflow 上是题外话。应在Webmasters 上询问有关您网站的非编程问题。以后请在那里问这样的问题。

标签: .htaccess cookies subdomain


【解决方案1】:

当浏览器请求静态图像并将 cookie 与请求一起发送时,服务器对这些 cookie 没有任何用处。因此,他们只会无缘无故地创建网络流量。您应该确保使用无 cookie 请求请求静态组件。创建一个子域并在其中托管所有静态组件。

如果您的域是 www.example.org,您可以在 static.example.org 上托管您的静态组件。但是,如果您已经在顶级域 example.org 而不是 www.example.org 上设置了 cookie,那么对 static.example.org 的所有请求都将包含这些 cookie。在这种情况下,您可以购买一个全新的域,在其中托管您的静态组件,并保持该域无 cookie。雅虎!使用 yimg.com,YouTube 使用 ytimg.com,亚马逊使用 images-amazon.com 等等。

在无 cookie 域上托管静态组件的另一个好处是,某些代理可能拒绝缓存使用 cookie 请求的组件。在相关说明中,如果您想知道是否应该将 example.org 或 www.example.org 用于您的主页,请考虑 cookie 的影响。省略 www 让您别无选择,只能将 cookie 写入 *.example.org,因此出于性能原因,最好使用 www 子域并将 cookie 写入该子域。

来源 - http://developer.yahoo.com/performance/rules.html

编辑

如果您在顶级域(例如 yourwebsite.com)上设置 cookie,您的所有子域(例如 static.yourwebsite.com)也将包含已设置的 cookie。因此,在这种情况下,如果您想使用无 cookie 的域,则需要使用单独的域名来传递您的静态内容。但是,如果您在 www.yourwebsite.com 等 www 子域上设置 cookie,您可以创建另一个子域(例如 static.yourwebsite.com)来托管您的所有静态文件,这将不再导致发送任何 cookie。

对于 Wordpress,您可以使用以下配置:

define("WP_CONTENT_URL", "http://static.yourwebsite.com"); 
define("COOKIE_DOMAIN", "www.yourwebsite.com");

详情 - https://www.keycdn.com/support/how-to-use-cookie-free-domains/

编辑 2

您需要将静态内容移至新创建的子域的 wp-content 文件夹!

【讨论】:

【解决方案2】:

我遇到了同样的问题。子域根本不起作用,所以我使用了一个不同的域名,它解决了这个问题。

【讨论】:

    【解决方案3】:

    如果您使用子域进行无 cookie 交付,那么您的主页必须使用 www 前缀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 2017-08-30
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多