我已经从Stackoverflow上的其他帖子中得到了很多关于这个主题的建议,但我仍然没有成功地让它发挥作用。
网站原产地位于S3,通过Cloudfront提供服务。通过其他帖子和亚马逊文档,我看到的建议如下:
1)Gzip必要的文件,从文件名中删除.gz,但在上传时,仍然将meta设置为gzip。这不适合我。 Safari只需下载gzip压缩文件,而不是用作网页。
2)亚马逊文档建议上传文件的gzip压缩版本和非压缩版本,但它没有提及它是如何工作的。例如,您是否链接到网站html中的style.css和style.css.gz?如果是这样,是不是因为看起来有两个请求而不是一个请求而没有打败gzipping的对象以加速网站?
此外,当您设置文档Cloudfront意图检索时,例如index.html,如果你同时拥有一个gzip压缩文件和一个非压缩文件,你将其设置为要检索的文档?当我将文档设置为index.html.gz时,浏览器会再次下载该文件。
我的速度等级在70-80%之间,这可能会更差,但也可能更好。我不是初学者,但我距离成为这方面的专家只有一百万英里,所以我希望我能在这里一步步走过。必须有一些我不太正确的事情。
提前感谢您的帮助。
答案 0 :(得分:5)
该过程应如下所示:
index.html.gz
).gz
扩展名(文件现在称为index.html
但内容已被gzip压缩)Content-Type
Content-Encoding
设为gzip
在HTML标记中链接到gzip压缩样式表时,只需指定不带.gz
扩展名的名称。
测试配置是否有效的优秀网站是http://gzipwtf.com/
如果您正在尝试使用的文件被缓存,也不要忘记使CloudFront缓存无效。
编辑:
我不建议您手动操作这些东西,我建议您在某种构建过程中自动上传和设置标题的过程。 s3_website是一个很好的Ruby宝石入门,但也有其他命令行工具或Grunt插件可用。