From: “Marlon de Boer” email@example.com
Date: Wednesday, February 04, 2009 8:28 AM
Subject: nginx not completly http/1.1 compliant?
that the absolute path cannot be empty; if none is present in the
original URI, it MUST be given as “/” (the server root).”
I’m running 0.6.29, looked at the changelog for all stable releases but
saw no fixes for this, is this a bug? or is the above GET request
I’d say it’s “officially incorrect”. As the section you quoted states,
absolute path cannot be empty”. A query component is definitely not part
an absolute path. (See RFC2396 for more info on the syntax of URIs.) So,
conformant request would be:
GET /?var=something HTTP/1.1
In my opinion, any app that generates only query strings as URLs and
include a path is waiting for breakage. Though a client “MUST” include /
there is no absolute path, there may still be UAs out there which are
conformant in this aspect. I suspect that coming across links like isn’t overly common and the exotic UAs may not have
tested such links.
But, in the end, a 400 is a perfectly valid response from nginx. If
web servers do not generate a 400 (or maybe a 406, offering a link to a
URI), you should file bugs against them.