2010-10-13 30 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