我一直在寻找使我的网站加载速度更快的方法,我想探索的一种方法是更多地使用 Cloudfront。
因为 Cloudfront 最初不是作为自定义源 CDN 设计的,并且因为它不支持 gzipping,所以到目前为止我一直使用它来托管我的所有图像,这些图像在我的站点代码中由它们的 Cloudfront cname 引用,并使用 far 进行了优化-期货头文件。
另一方面,CSS 和 javascript 文件托管在我自己的服务器上,因为直到现在我的印象是无法从 Cloudfront 提供 gzip 文件,并且 gzipping 的收益(约 75%)超过了来自使用 CDN(大约 50%):Amazon S3(以及 Cloudfront)不支持通过使用浏览器发送的 HTTP Accept-Encoding 标头以标准方式提供 gzip 压缩的内容,以及所以他们无法即时进行 Gzip 和服务组件。
因此,直到现在,我的印象是,必须在两种选择之间进行选择:
将所有资产移至 Amazon CloudFront 并忘记 GZipping;
保持组件自托管并配置我们的服务器以检测传入的请求并在适当的时候执行动态 GZipping,这是我目前选择做的。
还有人变通办法来解决这个问题,但本质上这些没有工作。[链接]。
现在,Amazon Cloudfront 似乎支持自定义源,并且如果您使用的是自定义源 [链接],现在可以使用标准的 HTTP 接受编码方法来提供 gzipped 内容。
到目前为止,我还没有能够在我的服务器上实现新功能。我在上面链接的博客文章是我发现的唯一一篇详细介绍更改的博客文章,似乎暗示您只能启用 gzipping(我不想使用的条形解决方法),如果您选择自定义来源,我宁愿不这样做:我发现在我的 Cloudfront 服务器上托管相应的文件并从那里链接到它们更简单。尽管仔细阅读了文档,但我不知道:
新功能是否意味着文件应该通过自定义源托管在我自己的域服务器上,如果是,什么代码设置将实现这一点;
如何配置 css 和 javascript 标头以确保它们是从 Cloudfront 以 gzip 格式提供的。