原因很簡單:
HTML 文檔中,多個空白字符等價為一個空白字符。也就是說換行等空白字符的刪除是不安全的,有可能導致部分元素的樣式產生差異。
HTML 元素中,有一個pre, 表示 preformatted text. 裡面的任何空白,都不能被刪除。
HTML 中有可能有 IE 條件注釋。這些條件注釋是文檔邏輯的一部分,不能被刪除。
只想到以上 3 點,可能還有其它陷進。對於動態頁面來說,HTML 的壓縮有可能還會增加服務器的 CPU 負擔,得不償失。
一般來說,通過 gzip 壓縮已經能達到很好的效果。進一步的壓縮存在陷進,除非能像 Google 一樣充分測試(Google 也僅壓縮了少部分核心服務的頁面),否則不推薦對 HTML 進行壓縮處理。