HTTP内容编码是否可以使用GZIP处理多个文件?

4
是否可以使用GZIP内容编码将您网站的全部或大部分内容发送到单个响应中,例如在一个响应中压缩图像、HTML、CSS和JS文件等内容。浏览器是否能够提取内容并将其组合以显示页面?
我的理解是只能对单个文件进行压缩,并且从HTML、CSS和JavaScript文件中获得最大的好处。到目前为止,我已经在网上搜索了几个小时,但没有找到相关信息。
当然,我知道一些框架可以将文件打包成一个文件,然后您可以在服务器上启用压缩并使用GZIP内容编码发送它。但我认为只能将类似的文件捆绑在一起,例如四个CSS文件捆绑成一个CSS文件,六个JS文件捆绑成一个JS文件等。
我之前没有看到过这个问题的答案,所以非常感谢任何见解。
1个回答

8

大部分情况下不行,但也有可能。

你不能在一个响应中发送多个文件并让浏览器将它们分开。尽管如此,你可以使用base64编码将图片嵌入到CSS文件中,当然你还可以在HTML文件中包含CSS和JS。因此,理论上你可以在请求的HTML文件的单个gzip响应中发送所有内容(HTML/CSS/Images/JS)。

这可能不是最理想的方法,因为这样做将阻止浏览器单独缓存图像、样式表和javascript,并且您需要在每个请求中都提供它们。除非你需要严重优化单个页面的传递,否则这样做可能不是最好的选择。


非常感谢您的回复,它对我很有帮助。谢谢。 - Daniel Eagle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接