Server idiosyncracies
--#--
Netscape can be a little cranky to deal with some times. To see just how
cranky, let's go to www.dilbert.com
and post to a script there.
Catbert, the evil HR Director, has a three-question quiz to see if you're
worthy of promotion. Looking at the form in the page source, you'll see that
your POST needs to send three values, plus a hidden field named "qindex."
I'm not sure what the hidden field does, but I'm passing it anyway.
POST /comics/dilbert/career/bin/quiz.cgi HTTP/1.0
Content-type: application/x-www-form-urlencoded
Content-length: 23
qindex=4&q1=1&q2=4&q3=5
You should get back lengthy HTML string, which is the page with Catbert's
(probably insulting) memo. But what happens if you leave out the Content-type:
header? An Apache server will probably handle such a request OK. But Netscape
responds:
HTTP/1.1 200 OK
Server: Netscape-Enterprise/3.5.1G
Date: Fri, 01 Oct 1999 02:03:49 GMT
Cgi-lib.pl: Unknown Content-type:
Content-type: text/html
cgi-lib.pl: Unknown Content-type:
cgi-lib.pl: Unknown Content-type:
Note, first of all, on the first line of the server response, that
Netscape is using HTTP 1.1. But also, Netscape is very particular
about content-type. It wants to know.
What does Internet Information Server do? Find out for yourself. A good place
to find sites running specific servers is
www.netcraft.com. Find a site with an
innocuous HTML form and try posting against it and varying the headers you
send. But before you do, you might want to learn how to build a simple little
Web browser that can automate some of the tests we're running.
Also coming up: your own home-rolled Web server that can show you how the major browser
makers formulate THEIR request headers.