The reasons for the MS IE only problem: 1) HTTP/1.1 Keep-Alive or Persistent Connection feature that both IIS and MS IE supports. I am not sure if Gecko supports Keep-Alive. 2) CFLOCATION causes the CF Server to miscalculate and hence, misinform MS IE, the value for the CONTENT-LENGTH header. It was too short. 3) MS IE uses the value in CONTENT-LENGTH to clear the appropriate amount of the output buffer. Hence, it has left-overs. THEN, re-using the same HTTP connection, MS IE retrieves the URL specified in the LOCATION header, and append to the current output buffer. The output buffer is fed to the HTML rendering engine, and voila, you get junk on top.
This issue does not exists in MS IE if: 1) the CFLOCATION url does not point to the same server name (cnn.com versus www.cnn.com) 2) the protocol of the CFLOCATION URL is not the same as the previous call (HTTP versus HTTPS) Which causes MS IE to terminate the current connection, and connects to the appropriate server specified in the URL. One quick way to duplicate this problem is to use CFHTMLHead in conjunction with CFLOCATION. The string length passed to CFHTMLHead must exceed the amount that would be specified by ColdFusion in the erroneous CONTENT-LENGTH header. As an aside, the CONTENT-LENGTH header's value is calculated based on the HTML that would be presented to a browser when it does not understand HTTP STATUS 302 (Object Moved) which is automatically generated by the ColdFusion server when it executes CFLOCATION. The length is variable because it depends on the length the CFLOCATION URL. :) This is a KNOWN problem. Not sure when it will ever get fix. ;) ------------------------------- James Ang Sr. Developer/Product Engineer MedSeek, Inc. [EMAIL PROTECTED] -----Original Message----- From: Stan Winchester [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2003 10:14 AM To: CF-Talk Subject: Message: HTTP/1.1 200 OK Server: Microsoft-IIS/5.0... Critz, Thank you for your suggestion. It looks like the problem was in fact <cflocation....>. The below solution worked perfectly: <cfheader name="location" value="../index.cfm"> <cfheader statuscode="302" statustext="Moved temporarily"> <cfabort> Upon further investigation I found that the custom tag <cf_location....> also works because it does exactly the same thing as the above solution. The obvious advantage for using the custom tag <cf_location....> is that I can do saver global search & replaces very easily without fear of breaking code. One last note: The <cflocation....> issue seems to be an issue only with Windows client browsers and not on other platforms; I cannot reproduce the header message on a Mac, thought I have not tried a Linux box yet. Thank you, Stan Winchester AfterShock Web Design, LLC [EMAIL PROTECTED] http://www.aftershockweb.com/ Tel. 503-244-3440 Fax 503-244-3454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

