Google和Yahoo!加快网页的加载是将无用的子域配置为服务器静态内容。

您如何在独立模式下使用tomcat配置“无用的子域”(这个问题不是关于如何使用apache在无用的通道中使用静态内容,而是关于如何在tomcat-standarone模式下使用静态内容)?

请注意,我不在乎支撑过滤器 If-Modified-Since 也不关心支撑GZIPPIPT的过滤器:我提供的静态内容永远是可缓存的(否则其名称将会更改),并且它已经是压缩数据(因此GZIP只会减慢转移的速度)。

我需要两个不同的tomcat web apps吗? (一个“ cookiefull”和一个“无烹饪”)

我需要两个不同的servlet吗? (到目前为止,我只有一个调度程序/控制器servlet)。

为什么当它与主webApp处于同一域时,为什么要以cookiefull的方式调用静态图像,然后在子域上以“ cookie-nose”方式调用静态图像。 ?

我不确定发生了什么:是决定附加还是不cookie的浏览器?如果是这样,为什么它不会将cookie附加到“无用”子域上的静态查询中。

关于场景后面发生的事情的任何例子都是最受欢迎的:)

有帮助吗?

解决方案

您只需要设置另一个域即可。它可以指向相同的WebApps。只需确保您不要在这个新域上丢弃cookie即可。

例如,您的主要网站是

  www.example.com

您可以拥有另一个域

  static.example.com 

用于无曲奇的静态资源。他们可以指向同一主机,转到同一servlet。您只需要确保在应用程序中不要为这些静态内容丢弃cookie即可。

编辑:假设您的静态内容由tomcat中的默认servlet提供,那么您无需做任何事情。它不会为您丢下cookie,因此您的新域应该免费。

如果您必须在同一servlet中处理静态内容,则可以做这样的事情,

   if (!request.getServerName().equals("static.example.com")) {
       // Drop cookie
   }

此示例假设您不会将cookie放在根域(.example.com)中。如果这样做,则必须获得另一个域,例如exipplecdn.com。

其他提示

我在这里发布了有关此信息的信息: URL/子域重写(HTACCESS)

如果您实现了无曲奇子域并拥有www的基本URL,请认为您可能会向后(或很可能)澄清。例如,在这种情况下,cookie在www上设置了:一个主要的cookie setter是Google Analytics(分析),因此在我的网站上设置其脚本时,看起来像这样:

`var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'analytics-acc-#],

['_setDomainName', '[www.valpocreative.com2'],

['_trackPageview']);

`

您可以在这里看到我将主要领域设置为www,如果我的情况下我错了,请纠正我,我需要将www重定向到非www子域而不是相反。这也是我的CPanel上制作的CNAME设置(cname =“ cdn”指向www.domain.com)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top