如何在ColdFusion的目录级别上启用gzip压缩?

3

我正在支持一个基于ColdFusion 7的遗留应用程序,页面中充满了大量痛苦的空格,我希望将其压缩。

我知道我可以:

  • 在索引类型文件中手动压缩所有内容(参考
  • 在web.xml中启用它(我无法访问)

但是我是否可以只使用正确的 < cfheader > 或类似于 .htaccess 的东西来触发此目录上的gzip压缩?


显然,PHP有一个这样的命令:ob_start('ob_gzhandler');此外,在我的特定情况下,该应用似乎托管在启用GZIP的Apache 1.3上,因此这可能是一个无用的观点。 - Dave
2个回答

7

有两种方法可以实现压缩。在Web服务器级别上(使用mod_gzipmod_deflateIIS_6IIS_7的apache 1.3),或应用程序服务器级别上(通过servlet filter进行冷凝汰)。

恐怕这些是您进行压缩的唯一选择。

否则,您将会探索其中一个或多个:

  • 通过cf管理员启用空格抑制。
  • 尽可能使用<cfsetting enablecfoutputonly="true"/>。
  • 用<cfprocessingdirective suppressWhiteSpace="yes"></cfprocessingdirective>包装代码。
  • 用<cfsilent></cfsilent>包装代码。

1

我唯一看到CF自己处理GZIP的情况是在使用内部(非生产)Web服务器时。我总是看到压缩是在Web服务器(IIS或Apache)层面上处理的。

如果有特定的代码正在转储大量的空格,那么有许多处理它的选项。其中几个在Ray Camden的文章中概述。

就个人而言,除非情况真的很糟糕,否则我不太担心空格。我关闭CFCs中的输出(如果应该显示某些内容,则返回它),并在不应显示输出的代码块周围使用CFSilent块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接