亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Gzip與縮小

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}有誰能證明對與錯。而且請不要說“是對的,因為那是我一直使用的”。我在這里要求科學證明。
查看完整描述

4 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

這是我前一段時間使用我網站上的“真實” CSS文件進行測試的結果。CSS Optimiser用于縮小。Ubuntu隨附的標準Linux存檔應用程序用于Gzipping。


原始:28,781字節

最?。?2,242字節

壓縮:6,969字節

最小+ Gzip:5,990字節


我個人的觀點是首先選擇Gzipping,因為那顯然是最大的不同。至于縮小,這取決于您的工作方式。您必須保留原始CSS文件才能進行進一步的編輯。如果它不麻煩您在每次更改后將其最小化,那就去做。


(注意:還有其他解決方案,例如,在為文件提供服務時通過minifier的“按需”運行它,并將其緩存在文件系統中。)


查看完整回答
反對 回復 2019-12-16
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

測試時要當心:這兩個CSS片段很小,因此它們無法從GZIP壓縮中受益-僅添加GZIP的小標頭會損失所獲得的收益。實際上,您不會有這么小的CSS文件,并且不必擔心對其進行壓縮。

minify + gzip壓縮的不僅僅是gzip

原始問題的答案是,是的,minify + gzip將獲得比gzip更大的壓縮率。對于任何不平凡的示例(例如,超過數百字節的任何有用的JS或CSS代碼),都是如此。

有關有效的示例,請獲取可壓縮且未壓縮的Jquery源代碼,并使用gzip對其進行壓縮并進行查看。

值得一提的是,與優化的CSS相比,JavaScript的縮小帶來的好處要大得多,但仍然有好處。

推理:

GZIP壓縮是無損的。這意味著它必須存儲所有文本,包括確切的空格,注釋,長變量名等,以便以后可以完美地復制它們。另一方面,縮小是有損的。如果您縮減代碼,那么您將從代碼中刪除許多此類信息,而剩下的GZIP則需要保留。

  • 縮小會不必要地丟棄空格,僅出于語法原因在必要時保留空格。

  • 縮小刪除評論。

  • 代碼縮編可以在沒有副作用的情況下用較短的名稱替換標識符名稱。

  • 代碼最小化可能會對代碼進行微不足道的“編譯器優化”,這只有通過實際解析代碼才能實現

  • CSS最小化可以消除冗余規則或合并具有相同選擇器的規則。


查看完整回答
反對 回復 2019-12-16
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

你是對的。


縮小與gzip壓縮是不同的(如果是這種情況,它們將被稱為相同)。例如,用gzip壓縮是不一樣的:


var myIncrediblyLongNameForThisVariableThatDoesNothingButTakeUpSpace = null;

比縮小最終得到類似:


var a = null;

當然,在大多數情況下,我會說最好的方法是先縮小Gzip,再縮小Gzip,而不只是縮小或gzipping,盡管有時取決于代碼,有時縮小或gzipping比兩者兼而有之。


查看完整回答
反對 回復 2019-12-16
  • 4 回答
  • 0 關注
  • 788 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號