From: Brian Candler Date: 2007-02-02T05:31:36+09:00 Subject: Re: My "Hello World" script is not displaying properly On Fri, Feb 02, 2007 at 04:50:10AM +0900, laredotornado@zipmail.com wrote: > Hi, > > I just installed mod_ruby1.2.5 with Apache 2.2.3 on Fedora Core 5 > Linux. Triumphant, I downloaded this test script to my web root > (public_html/test.rbx) > > #!/usr/local/bin/ruby > print "HTTP/1.0 200 OK\r\n" > print "Content-type: text/html\r\n\r\n" > print "Hello World!\r\n" > > I restarted my web server but when I load the page in IE, I get > > HTTP/1.0 200 OK Content-type: text/html Hello World! > > and on Firefox ... > > HTTP/1.0 200 OK > Content-type: text/html > > Hello World! > > What is wrong? It did what you told it to :-) If you do the following, you should see why: telnet 127.0.0.1 80 GET /test.rbx HTTP/1.0 Host: localhost If I'm right, the web server has already output a HTTP/1.0 response, so your script is outputting a second one, which the client sees is not a valid header, so treats it as the response body. If you really want your Ruby program to generate the HTTP response, you'll need to configure your webserver to run it as an nph script. Maybe renaming it to nph-test.rbx will be sufficient. Otherwise just remove the first print line from your script. Regards, Brian.