2012-05-04 38 views
1

如果不是使用mod_deflate模塊或mod_gzip的我將手動gzip壓縮的CSS或JS文件獲得這樣的:Gzip已靜態文件之前,而不是在飛行

base.css.gz 

我將其重命名爲:

base.css 

然後從HTML頁面加載它,它會工作嗎?

這對內存和資源非常有限的環境很有用,例如網狀網絡中的無線接入點。

我也想問一下,在普通的網站上是否有意義節省服務器cpu的資源?目前我使用mod_deflate,我認爲用這種方法可以在每一個動態請求中對內容進行gzip壓縮,是這樣嗎?這不是有點浪費資源嗎?

+0

你說的是Apache的?誘使一個Web服務器使用HTTP壓縮而不實際壓縮看起來非常軟件特定於我。 –

回答

4

我回答自己,因爲沒人解決我的問題。

它可以服務於手動gzip壓縮的文件,例如CSS,但他們需要通過Web服務器與正確的內容類型和壓縮頁眉服務,從<鏈接只是加載一個壓縮文件>或<javscript>標記不起作用。

下面是用PHP的例子:

<?php 
header("Content-Encoding: gzip"); 
header("Content-Type: text/css"); 
echo file_get_contents("base.min.css.gz"); 
exit(0); 

// no closing tag to prevent occasionally printing any chars 
1

HTTP服務器如果設置爲在靜態文件上使用壓縮,則爲您緩存壓縮文件 - 所以不用擔心。

IIS documentations here

我不是在Apache太,但mod_deflate模塊和mod_cache的共同努力https://serverfault.com/a/220418/7869

+0

好的,但是如何在不使用apache的設備上手動壓縮文件,以及無法安裝哪個mod_deflate? – nemesisdesign

+0

喜歡什麼?路由器不是網絡服務器。 (好的,有些人使用web服務器管理用戶界面 - 但他們不是網絡服務器。) – Adrian

+0

所有專業路由器都安裝了一些輕型的http服務器,但無法使用mod_deflate,因爲它們沒有足夠的資源,所以更好的壓縮何時被嚴格需要。 – nemesisdesign

相關問題