除了使用CDN之外,对静态数据使用单独的域还意味着:
您可以使用轻量级的Web服务器,而不必在每个单个请求上加载动态内容Web服务器必须加载的所有模块/扩展。不必扫描URI路径中的每个目录以读取.htaccess文件,也可以增加服务器可以处理的同时请求数。
添加额外的子域意味着您将增加浏览器可以执行的并行下载的数量。
如果设置正确(例如,您的网站托管于www.example.com
而不是example.com
),您还可以利用无cookie子域,从而减少流量和往返时间。
唯一的缺点是,如果您使用SSL会话,则需要一个签名证书并为其他域使用单独的静态IP。但是,在大多数情况下,好处多于这种不便之处。
编辑:
抱歉,我看不懂你的问题。如果您问为什么有些人使用单独的SLD,则可以通过#3的括号来回答。在sstatic.net上也有解释:
如果您的域名是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等。
但是化身还提到了在运行共享某些资产的大型站点网络时,使用单独的通用SLD而不是现有SLD的子域的好处。
最后,正如Niels Basjes指出的,消除Cookie的部分原因是为了最大程度地减少用于执行请求的数据包数量。我认为YSlow指南指出大多数网络的最大数据包大小为1500字节,因此将其保持在1500字节以下将减少TCP开销。这也说明了使用sstatic.net
代替的另一个优势static.webmasters.stackexchange.com
。