2010-10-13 28 views
5

有没有人成功地将Content-Length标题添加到常规ColdFusion(我正在使用CF9)页面?我正在使用压缩技术在思科负载均衡器后面建立一个新的服务器 - 该机器拒绝压缩任何没有此标头的内容,但CF默认情况下不会传递它。ColdFusion - 如何设置Content-Length标题

<cfheader name="Content-Length" value="something">将设置标题,但找到正确的值是一个问题。

任何指针将不胜感激。

+0

我不知道你是否可以控制负载平衡器,但我相信cisco负载平衡器的默认配置是它只能压缩长度超过512字节的内容。但是,这是一个配置值(压缩设置中的最小大小),并且可以更改,我敢肯定它可以更改为只压缩所有内容(使用请求上的正确接受标头,obv)。 – 2010-10-14 16:02:03

回答

0

我不喜欢这个想法,但你可以用cfsavecontent做一些包装,并采取的长度?由于白色空间问题

<cfsetting enablecfoutputonly="yes"> 
<cfsavecontent variable="testVar"> 
    <cfinclude template="myPage.cfm"> 
</cfsavecontent> 
<cfheader name="Content-Length" value="#len(testVar)#"> 
<cfoutput>#testVar#</cfoutput> 

我不知道,如果计数将在关:

喜欢的东西。

+0

容易, #trim(testVar)#? – Henry 2010-10-14 01:06:51

3

我相信我已经解决了它:

<cfheader name="Content-Length" value="#getPageContext().getCFOutput().getBuffer().size()#">

我坚持认为在邻nRequestEnd()和思科箱愉快地压缩了。

感谢您的投入。

+0

说得过早。大小()几乎总是正确的... – Geoff 2010-10-14 13:19:09