2010-10-13 13 views
5

क्या किसी ने नियमित रूप से ColdFusion (मैं CF9 का उपयोग कर रहा हूं) पृष्ठों में सामग्री-लंबाई शीर्षलेख जोड़ा है? मैं संपीड़न के साथ सिस्को लोड बैलेंसर के पीछे एक नया सर्वर स्थापित कर रहा हूं - बॉक्स इस हेडर के बिना कुछ भी संपीड़ित करने से इंकार कर देता है, लेकिन सीएफ डिफ़ॉल्ट रूप से इसे पास नहीं करता है।कोल्डफ्यूजन - सामग्री-लंबाई शीर्षलेख सेट करने के लिए कैसे करें

<cfheader name="Content-Length" value="something"> शीर्षलेख सेट करेगा, लेकिन सही मान ढूंढना एक समस्या है।

किसी भी पॉइंटर्स की बहुत सराहना की जाएगी।

+0

मुझे नहीं पता कि आपके पास लोड बैलेंसर पर नियंत्रण है या नहीं, लेकिन मेरा मानना ​​है कि सिस्को लोड बैलेंसर्स की डिफ़ॉल्ट कॉन्फ़िगरेशन यह है कि यह केवल 512 बाइट्स से अधिक सामग्री को संपीड़ित करता है। लेकिन, यह एक कॉन्फ़िगरेशन मान (संपीड़न सेटिंग्स में न्यूनतम आकार) है, और बदला जा सकता है, और मुझे पूरा यकीन है कि इसे सबकुछ संकुचित करने के लिए बदला जा सकता है (अनुरोध पर उचित स्वीकार करने वाले हेडर के साथ, obv।) –

उत्तर

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

3

मेरा मानना ​​है कि मैं इसका समाधान कर लिया:

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

मैं फंस कि ओ nRequestEnd() और सिस्को बॉक्स में खुशी से दूर संपीड़ित है।

इनपुट लोगों के लिए धन्यवाद।

+0

बहुत जल्द स्पोक। आकार() लगभग हमेशा सही है ... – Geoff

संबंधित मुद्दे