【问题标题】:ColdFusion - how to set Content-Length headerColdFusion - 如何设置 Content-Length 标头
【发布时间】:2011-04-25 02:43:26
【问题描述】:

是否有人成功地将 Content-Length 标头添加到常规 ColdFusion(我使用的是 CF9)页面?我正在 Cisco 负载均衡器后面设置一个带有压缩功能的新服务器 - 该框拒绝压缩没有此标头的任何内容,但默认情况下 CF 不会通过它。

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

任何指针将不胜感激。

【问题讨论】:

  • 我不知道你是否可以控制负载均衡器,但我相信cisco负载均衡器的默认配置是它只压缩长度超过512字节的内容。但是,这是一个配置值(压缩设置中的最小大小),并且可以更改,我很确定它可以更改为仅压缩所有内容(在请求中使用正确的接受标头,obv。)

标签: coldfusion http-headers content-length


【解决方案1】:

我相信我已经解决了:

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

我把它卡在 onRequestEnd() 中,Cisco 盒子很高兴地压缩了。

感谢大家的意见。

【讨论】:

    【解决方案2】:

    我不喜欢这个主意,但你能用 cfsavecontent 制作某种包装器并花些时间吗?

    类似:

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

    我不确定计数是否会因为空白问题而被取消。

    【讨论】:

    • 简单,#trim(testVar)# ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2014-07-07
    • 2016-08-21
    相关资源
    最近更新 更多