I noticed that sending GET /
(+CRLF) to some webservers (e.g. from a well-known search provider) results in a HTTP/1.0 200 OK
message. Other webserver respond with a HTTP/1.0 400
error.
To my knowledge even HTTP/1.0 requires the version field. Is GET /
(without protocol and Host) a standardized, valid shortened GET request?
After some digging I found HTTP/0.9 from 1991 defines the following:
- This request consists of the word "GET", a space, the document address,[...].
- The document address will consist of a single word (ie no spaces). If any further words are found on the request line, they MUST either be ignored, or else treated according to the full HTTP spec
With HTTP/0.9 the request seems possible. Some sources call it the one-line protocol. Not sure if this is common sense or not. I did not know nor have I seen this before. Are webservers meant to honor this HTTP/0.9 request?