2010-10-13 33 views
5

Có ai đã thêm thành công tiêu đề Content-Length vào các trang ColdFusion thông thường (tôi đang sử dụng CF9) không? Tôi đang thiết lập một máy chủ mới đằng sau bộ cân bằng tải của Cisco với nén - hộp từ chối nén bất kỳ thứ gì không có tiêu đề này, nhưng CF không chuyển nó theo mặc định.ColdFusion - cách đặt tiêu đề Content-Length

<cfheader name="Content-Length" value="something"> sẽ đặt tiêu đề, nhưng việc tìm đúng giá trị là một vấn đề.

Bất kỳ con trỏ nào cũng sẽ được đánh giá cao.

+0

Tôi không biết liệu bạn có kiểm soát được bộ cân bằng tải hay không, nhưng tôi tin rằng cấu hình mặc định của cân bằng tải cisco là nó chỉ nén nội dung dài hơn 512 byte. Tuy nhiên, đây là một giá trị cấu hình (kích thước tối thiểu trong cài đặt nén), và có thể thay đổi, và tôi khá chắc chắn nó có thể được thay đổi để chỉ nén mọi thứ (với tiêu đề chấp nhận đúng theo yêu cầu, obv.) –

Trả lời

0

Tôi không thích ý tưởng này, nhưng bạn có thể làm cho một số loại wrapper với cfsavecontent và mất chiều dài của điều đó?

Cái gì như:

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

Tôi không chắc chắn nếu số lượng sẽ được giảm do các vấn đề khoảng trắng.

+0

dễ dàng, #trim (testVar) #? – Henry

3

Tôi tin rằng tôi đã giải quyết nó:

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

Tôi bị mắc kẹt trong o nRequestEnd() và hộp Cisco được hạnh phúc nén đi.

Cảm ơn các bạn đầu vào.

+0

Nói quá sớm. Kích thước() hầu như luôn chính xác ... – Geoff

Các vấn đề liên quan