在上一篇文章里提到《圖片要啟用gzip壓縮嗎?絕對不要!》,但是這里又說ico和svg圖片啟用GZip后體積減少50%以上,這兩篇文章是不是有矛盾?其實并非有矛盾,前一篇文章提到的“圖片不需要啟用GZip”,是針對那些已經在本地壓縮過的圖片文件,例如:PNG、GIF和JPEG文件,而本文提及的ico和svg圖片并不屬于此類文件,另外,bmp圖片也不屬于此類文件。
ico圖片啟用GZip壓縮后體積減少50%以上
下圖顯示是我站的favicon.ico圖片的GZip檢測結果
ico圖片啟用GZip壓縮體積減少50%以上
檢測結果顯示,ico圖片啟用GZip壓縮體積減少了51.65%,由原體積1150字節(jié),變?yōu)?56字節(jié),符合Yahoo網站速度優(yōu)化建議的規(guī)則——favicon.ico應小于1000字節(jié)。
我們再來看看svg圖片啟用GZip壓縮后會怎樣。
svg圖片啟用GZip壓縮后體積減少50%以上
下圖是我站一個svg文件的GZip檢測結果。
svg圖片啟用GZip壓縮后體積減少50%以上
從圖示的數據來看,svg圖片有原來的1.3M變?yōu)?.4M左右,這個變化是巨大的!
哪些圖片文件需要啟用GZip?
結合前面的檢測,我們現在可以作一個匯總了,需要啟用GZip壓縮的圖片文件有:ico、svg、bmp,而不需要啟用GZip壓縮的圖片文件有:png、gif、jpg、jpeg。
知識擴展:了解ICO和SVG
ICO
ICO文件是一個最初用于Windows圖標的圖像格式,它今天使用的格式,創(chuàng)建于20年前的Windows 3。今天,ICO文件用于網站網頁的Favicons,通常顯示在地址欄或瀏覽器標簽。而現代的瀏覽器除了ICO圖標外還支持其他文件格式是不通用的,因此許多網站繼續(xù)使用ICO文件作為兼容性圖標。
盡管是一個圖像,ICO文件本身并不壓縮。ICO圖片實際上是原始版本的BMP圖像。ICO和bmp格式的圖像本身并沒有壓縮。同時可以(也應該)避免使用BMP圖像在您的網站上,你可以不做這個ICO文件。要配置您的Web服務器和HTTP服務器對ICO圖標圖像進行壓縮。
SVG
SVG一個沒有經過本地壓縮的圖像格式的例子。SVG圖像是一個XML文檔,但他們有一個不同的MIME類型和文件擴展名。這意味著,雖然有人會記得壓縮XML文檔,他們忘記了SVG文件壓縮。
你可能會使用SVG圖像在您的網站上,甚至不知道它。這是因為一個SVG圖像特征,SVG字體,使SVG文件包含用于繪制文本的字體字形。這些image-that-really-a-font SVG文件可以在CSS使用@font-face語法就像OTF或而字體文件的引用。
字體支持,說得好聽,其實是巨大的混亂。Web開發(fā)人員從字體庫摘要本文和使用正確的格式,包括SVG字體,給瀏覽器使用。這意味著你的網站可以用SVG,甚至你不知道它在用SVG。所以,記得啟用GZip壓縮你的SVG文件。