我们有一个现有的Web产品,它使用了很多静态图像,css文件,js libs和其他静态内容。每当加载页面时,浏览器通常必须发出许多额外的HTTP请求来检索几乎加倍加载时间的所有内容。我们想将内容放到亚马逊的CloudFront上以改善加载时间,我试图在两种可能的实现方式之间做出选择。
1)。浏览对此类内容的每个引用,并将其替换为对CloudFront的请求。例如。 images / image.jpg将成为qwerty.cloudfront.net/images/image.jpg。这将导致“真正的”集成,但实际上我不可能实现这一点。特别是对于不同的JS库,它们都有自己动态选择的图像。
2)。保留images / image.jpg原样并告诉服务器为CloudFront执行301以获取此类请求。此实现的问题在于,在服务器可以将请求重定向到CloudFront之前,实际上必须将请求一直路由到服务器。
所以基本上我不确定301是不是一个好主意。仅当将服务器发送到客户端所需的时间与服务器发送请求到服务器的时间相比可以忽略不计时,这种方法才有效。此外,我不知道服务器处理负载峰值的难易程度 - 如果发生流量峰值并且必须服务于大量的301重定向,它是否会存活(尽管我认为它会这样做,因为这样做应该比检索它更容易)文件系统中的文件并输出它们)。如果您对此事有任何经验或想法(包括实施此集成的其他可能方式),请告诉我。