Request = SimpleRequest | FullRequest
SimpleRequest = GET <uri> CrLf
FullRequest = Method URI ProtocolVersion CrLf
[*<HTRQ Header>]
[<CrLf> <data>]
<Method> = <InitialAlpha>
ProtocolVersion = HTTP/1.0
uri = <as defined in URL spec>
<HTRQ Header> = <Fieldname> : <Value> <CrLf>
<data> = MIME-conforming-message
The URI is the Uniform Resource Locator
(URL) as defined in the specification,
or may be (when it is defined) a
Uniform Resource Name (URN) when
a specification for this is settled,
for servers which support URN resolution.Unless the server is being used as a gateway, a partial URL shall be given with the assuptions of the protocol (HTTP:) and server (the server) being obvious.
The URI should be encoded using the escaping scheme described in the URL specification to a level such that (at least) spaces and control characters (decimal 0-31 and 128-159) do not appear unescaped.
Note. The rest of an HTTP url after the host name and optional port number is completely opaque to the client: The client may make no deductions about the object from its URL.
If the protocol version is not specified, the server assumes that the browser uses HTTP version 0.9.