2010-08-24 52 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块。