Gzip与缩小

Gzip与缩小

前几天,我在热闹的讨论中谈到了将Javascript和CSS压缩为最小,而不是喜欢使用Gzip的人。


我称这个人为X。


X表示Gzip已经压缩了所有代码,因为它压缩了文件。


我不同意。Zip是缩小文件大小的一种无损方法。无损意味着必须完美还原原始文档,这意味着必须存储信息才能还原空格,不需要的字符,注释的代码以及所有其他内容。由于必须压缩更多空间,因此占用了更多空间。


我没有测试方法,但是我相信这段代码的Gzip:


.a1 {

    background-color:#FFFFFF;

    padding: 40px 40px 40px 40px;

}

仍将大于此代码的Gzip:


.a1{body:background-color:#FFF;padding:40px}

有谁能证明对与错。

而且请不要说“是对的,因为那是我一直使用的”。


我在这里要求科学证明。


Cats萌萌
浏览 744回答 4
4回答

阿波罗的战车

这是我前一段时间使用我网站上的“真实” CSS文件进行测试的结果。CSS Optimiser用于缩小。Ubuntu随附的标准Linux存档应用程序用于Gzipping。原始:28,781字节最小:22,242字节压缩:6,969字节最小+ Gzip:5,990字节我个人的观点是首先选择Gzipping,因为那显然是最大的不同。至于缩小,这取决于您的工作方式。您必须保留原始CSS文件才能进行进一步的编辑。如果它不麻烦您在每次更改后将其最小化,那就去做。(注意:还有其他解决方案,例如,在为文件提供服务时通过minifier的“按需”运行它,并将其缓存在文件系统中。)

慕工程0101907

测试时要当心:这两个CSS片段很小,因此它们无法从GZIP压缩中受益-仅添加GZIP的小标头会损失所获得的收益。实际上,您不会有这么小的CSS文件,并且不必担心对其进行压缩。minify + gzip压缩的不仅仅是gzip原始问题的答案是,是的,minify + gzip将获得比gzip更大的压缩率。对于任何不平凡的示例(例如,超过数百字节的任何有用的JS或CSS代码),都是如此。有关有效的示例,请获取可压缩且未压缩的Jquery源代码,并使用gzip对其进行压缩并进行查看。值得一提的是,与优化的CSS相比,JavaScript的缩小带来的好处要大得多,但仍然有好处。推理:GZIP压缩是无损的。这意味着它必须存储所有文本,包括确切的空格,注释,长变量名等,以便以后可以完美地复制它们。另一方面,缩小是有损的。如果您缩减代码,那么您将从代码中删除许多此类信息,而剩下的GZIP则需要保留。缩小会不必要地丢弃空格,仅出于语法原因在必要时保留空格。缩小删除评论。代码缩编可以在没有副作用的情况下用较短的名称替换标识符名称。代码最小化可能会对代码进行微不足道的“编译器优化”,这只有通过实际解析代码才能实现CSS最小化可以消除冗余规则或合并具有相同选择器的规则。

FFIVE

你是对的。缩小与gzip压缩是不同的(如果是这种情况,它们将被称为相同)。例如,用gzip压缩是不一样的:var myIncrediblyLongNameForThisVariableThatDoesNothingButTakeUpSpace = null;比缩小最终得到类似:var a = null;当然,在大多数情况下,我会说最好的方法是先缩小Gzip,再缩小Gzip,而不只是缩小或gzipping,尽管有时取决于代码,有时缩小或gzipping比两者兼而有之。
打开App,查看更多内容
随时随地看视频慕课网APP