+1  A: 

it is likely that some page content, especially one that has a blank line, is displayed before the HTTP header info is displayed. In such case, the browser will think it was the end of the HTTP header section and render those characters as content.

(your attachment's link is broken now so can't see any info there)

動靜能量
I can't even view source in FF to inspect and see if you are right. It looks like FF View Source operation is also stuck on getting source for this page.
dev.e.loper
if you use Fiddler, you can see all the traffic.
動靜能量
Thank you. Yes attaching to fiddler worked. I got more information. I updated my finding in my original question along with fiddler message.
dev.e.loper
not sure why the image still won't show. is it from a secure or internal server?
動靜能量
A: 

The server is not sending things out correctly. A valid HTTP response would be the HTTP headers, followed by an empty line and then the content. In this case, it seems likely that this was not followed. If there was an empty line before the HTTP headers, the HTTP headers would just be treated like content and rendered accordingly.

sybreon
A: 

You can use telnet to see precisely what the server is returning. If you are running the server on port 800, try this:

$ telnet hostname 800
GET / HTTP/1.0

(You need to hit enter twice after the GET line. You can also add headers at that point if you need to.)

and assuming a leading blank line is the problem, you'd see something like

(blank line)
HTTP/1.1 200 OK
Various-headers: here
Greg