From: Paul Battley Date: 2005-04-21T09:15:49+09:00 Subject: Re: Newb CGI Question You are reading the data, but not actually sending it to the client. - File.read("agent.gif") + print(File.read("agent.gif")) I think that's the problem. You can also get rid of the 304 status; it's not appropriate: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html Finally, you are sending the length of a different file in the code sample you gave.