2010-08-24 58 views
3

我在ColdFusion 7上支持一個遺留應用程序,頁面中充滿了我想要刪除的痛苦的空白。如何在目錄級別的Coldfusion上啓用gzip壓縮?

我知道我可以:

  • 在索引類型的文件(reference
  • 手動壓縮一切使它在web.xml(我沒有訪問)

但是,我可以只是拋出正確的< cfheader>或類似於.htaccess觸發gzipping這個目錄?

+0

顯然PHP有這種事情的命令:ob_start ('ob_gzhandler'); 另外在我的具體情況下,應用程序似乎在沒有啓用GZIP的Apache 1.3上託管,所以這可能是一個有爭議的問題。 – Dave 2010-08-24 18:26:50

回答

6

有兩種實現壓縮的方法。在Web服務器級別(Apache 1.3與mod_gzipmod_deflate,IIS_6,IIS_7)或應用程序服務器級別(coldfusion通過servlet filter)。

恐怕這些是唯一可用於壓縮的選項。

否則,你將着眼於一個或更多的這些:

  • 通過 CF管理員能夠抑制空白。
  • 使用< cfsetting enablecfoutputonly =「true」/ >其中 可能。
  • 與 < cfprocessingdirective suppressWhiteSpace封裝代碼= 「是」 > </cfprocessingdirective >
  • 包裝代碼<cfsilent> </cfsilent >
1

我唯一一次看到CF處理GZIP本身,IIRC,是使用內部(而不是生產)Web​​服務器時。我一直在web服務器(IIS或Apache)級別上看到壓縮處理。

如果存在傾倒大量空白的特定代碼,則有多種處理方法可供選擇。有幾個是在article by Ray Camden中粗加工出來的。

就個人而言,除非真的很差,否則我不擔心空白。我關閉了CFC中的輸出(如果應該顯示某些內容,我將它返回),並且我使用不應顯示輸出的代碼塊周圍的CFSilent塊。