新聞中心
最近我們用 YSlow 做頁(yè)面的性能分析時(shí),發(fā)現(xiàn)有一個(gè) js 不知什么原因沒有被 Gzip 壓縮。于是我找到負(fù)責(zé)服務(wù)器配置的相關(guān)同學(xué)咨詢,這個(gè)過程中巧遇淘叔度,聽了他的解釋才知道這是他們有意為之。

莊浪網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),莊浪網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為莊浪數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的莊浪做網(wǎng)站的公司定做!
我們知道,數(shù)據(jù)在網(wǎng)絡(luò)上是以包的形式傳輸?shù)模?TCP/IP 協(xié)議中,大塊的數(shù)據(jù)會(huì)被切分成小塊,然后每一塊會(huì)被加上一些頭信息,最后,這些頭信息加上原始數(shù)據(jù)的一個(gè)片斷組成一個(gè) IP 數(shù)據(jù)報(bào),即一個(gè)數(shù)據(jù)包。如下圖所示:
(圖:TCP/IP數(shù)據(jù)包的封裝,圖片來(lái)自互聯(lián)網(wǎng))
對(duì)于以太網(wǎng)來(lái)說(shuō),一個(gè)最大傳輸單元(MTU)為 1500 字節(jié),也即一個(gè) IP 數(shù)據(jù)報(bào)最大不能超過 1500 字節(jié),除去頭信息和,最終的數(shù)據(jù)信息的長(zhǎng)度一般最多可以比 1400 字節(jié)略多一些。
在 TCP/IP 協(xié)議中,數(shù)據(jù)傳輸?shù)淖钚挝皇前簿褪钦f(shuō),如果用戶請(qǐng)求一個(gè)文件,無(wú)論這個(gè)文件有多小,服務(wù)器端至少需要發(fā)送一個(gè)數(shù)據(jù)包。這就帶來(lái)一個(gè)有趣的問題:如果我們的文件內(nèi)容非常小,加上頭信息之后還不足一個(gè)包的長(zhǎng)度,是否還有必要啟用 Gzip 壓縮呢?
比如我們之前發(fā)現(xiàn)的那個(gè) js 文件,內(nèi)容其實(shí)只有 944 字節(jié),加上 HTTP 頭信息,也還是不足 1400 字節(jié)。對(duì)這么小的文件來(lái)說(shuō),無(wú)論是否啟用 Gzip 壓縮,總是需要一個(gè)數(shù)據(jù)包來(lái)傳送。也就是說(shuō),對(duì)這個(gè)文件而言,Gzip 壓縮與否,網(wǎng)絡(luò)傳送的速度是一樣的,同時(shí),如果對(duì)它啟用壓縮,反而需要多耗費(fèi)一些服務(wù)器壓縮以及客戶端解壓的時(shí)間。
因此,對(duì)這樣的小文件來(lái)說(shuō),不用 Gzip 可能頁(yè)面性能更好,盡管這會(huì)讓 YSlow 的評(píng)分看起來(lái)低一些。考慮到 HTTP 頭的長(zhǎng)度,禁用 Gzip 壓縮的文件一般應(yīng)該在 1024 字節(jié)以內(nèi)。當(dāng)然,從另一個(gè)角度來(lái)說(shuō),大部分情況下,這樣的小 js 不應(yīng)該存在,而是應(yīng)該合并到某個(gè)更大的 js 中。不過,如果真的有某些特殊的無(wú)法合并的小文件,還是可以考慮一下這種禁用小文件 Gzip 的可能性的。
原文:http://oldj.net/article/a-gzipping-exception/
文章名稱:可以禁用Gzip的一種情況
分享網(wǎng)址:http://fisionsoft.com.cn/article/cdiojjh.html


咨詢
建站咨詢
