如何使用无Cookie域设置IIS以提高性能?

如何使用无Cookie域设置IIS以提高性能?,iis,cookies,cookieless,Iis,Cookies,Cookieless,我在谷歌的文档中阅读了他们的新插件,他们建议使用该插件来提高性能: 静态内容,如图像、JS和CSS文件,不需要伴随cookies,因为用户不需要与这些资源交互。您可以通过从不提供cookie的域提供静态资源来减少请求延迟 有人知道如何在IIS中做到这一点吗?谷歌文章的建议是,您从另一个域提供所有静态内容,其中cookie最初不是由该服务域设置的 Cookie有两种设置方式-通过会话Cookie(例如,通过ASP或ASP.NET请求)或通过应用程序显式设置 在设置cookie的域的每个后续请求中(

我在谷歌的文档中阅读了他们的新插件,他们建议使用该插件来提高性能:

静态内容,如图像、JS和CSS文件,不需要伴随cookies,因为用户不需要与这些资源交互。您可以通过从不提供cookie的域提供静态资源来减少请求延迟


有人知道如何在IIS中做到这一点吗?

谷歌文章的建议是,您从另一个域提供所有静态内容,其中cookie最初不是由该服务域设置的

Cookie有两种设置方式-通过会话Cookie(例如,通过ASP或ASP.NET请求)或通过应用程序显式设置

在设置cookie的域的每个后续请求中(无论请求是静态内容还是动态内容),这些内容都将被发回服务器,从而增加请求负载

通过使用第二个域来服务静态内容(HTML、CSS、图像等),您所做的是生成无cookie请求,因为不会在第一个位置为该域设置初始cookie

在IIS中,您的应用程序、ISAPI筛选器或ISAPI扩展将添加cookie。如果IIS服务器未拦截静态内容请求(因为这通常由内核模式http.sys驱动程序处理),则不会向响应中添加cookie。只有在请求管道的更上层,cookies才会发挥作用


因此,基本上没有办法在IIS中显式配置无cookie的域。

如果您只是将所有静态资源放入例如static.mysite.com中,并且如果您从未在该域中设置任何cookie,那么浏览器在从静态域检索资源时将永远不会发送cookie


这就是谷歌所说的。无需配置,只需组织。

AFAIK google analytics为所有子域设置cookie,因此如果您使用分析,它将毫无用处


AFAIK google analytics为所有子域设置cookie,所以如果您使用分析,它将是无用的

我也经历过这一点,你必须完全使用不同的域,以避免设置分析/adsense cookies。使用static.yourdomain.com无法解决这个问题


希望谷歌能改变他们的分析cookie,这样我们就不必购买新域名来提供无cookie内容。

下面是一个使用谷歌分析异步跟踪代码的示例,介绍如何设置域进行跟踪:
\u gaq.push([''u setAccount',UA-XXXXXXX-x'],[''u setDomainName',www.example.com'],[''u trackPageview'])


下面是使用以前版本的跟踪代码的示例:

var pageTracker = _gat._getTracker("UA-XXXXXXX-x"); pageTracker._setDomainName("www.example.com"); pageTracker._trackPageview(); var pageTracker=_gat._getTracker(“UA-XXXXXXX-x”); pageTracker._setDomainName(“www.example.com”); 页面跟踪器。_trackPageview();
以下是谷歌对此的看法:

serverfault.com可能会给你带来更多的结果,因此有很多与IIS相关的问题,所以我认为这是合适的(包括你的一个:)这是一个与开发相关的问题。是的,但消除这一点会弥补dns查找的增加吗?如果您的页面包含来自多个域的dns内容(即使它是您自己的子域之一),这不需要2次dns查找吗?Google Analytics如何知道子域?@olaf,它不知道,它只是假设它下面的所有内容,例如。*.mydomain.com