我们有几个图像和PDF文档可通过我们的网站获得.这些图像和文档存储在源代码管理中,并在部署时复制内容.我们正在考虑创建一个单独的图像服务器来放置我们的库存图像和PDF文档 - 从而显着减少我们的部署包的大部分.
有没有人有这种方法的经验?
我想知道任何"陷阱" - 比如XSS问题和/或浏览器问题从备用子域提供内容?
优点:
许多浏览器只会分配两个套接字来从单个主机下载资产.因此,如果index.html是从www.domain.com下载的,它引用了6个图像文件,3个javascript文件和3个CSS文件(全部在www.domain.com上),浏览器将一次下载2个,其他阻塞直到套接字空闲.
如果您将6个图像文件关闭到单独的主机上,例如images.domain.com,您将获得额外的两个专用于下载图像的插槽.这使资产下载过程并行化,因此理论上,您的页面可以提高两倍的速度.
缺点:
如果您使用的是SSL,则需要为images.domain.com获取额外的单主机SSL证书,或者为*.domain.com获取通配符SSL证书(匹配任何子域).如果不这样做,将在浏览器中生成一条警告,指出该页面包含混合安全且不安全的内容.
对于不同的域,您还将不会在每次请求时发送cookie数据.这可以提高性能.
还没有提到的另一件事是您可以使用不同的Web服务器来提供不同类型的内容.例如,您的静态内容可以通过lighttpd或nginx提供,同时仍然可以在Apache上提供动态内容.