Request = Request-Line;
                    *((general-header;
                    |request-header;
                    |entity-header)CRLF);
                    CRLF
                    [message-body];

                   
Request-Line = Method SP Request-URI SP HTTP-Version CRLF

Method = "OPTIONS"|"GET"|"HEAD"|"POST"|"PUT"|"DELETE"|"TRACE"|"CONNECT"|extension-method

extension-method = token

general-header = Cache-Control;|Connection;|Date;|Pragma;\Trailer;|Transfer-Encoding;|Upgrade;|Via;|warning;


request-header = Accept;|Accept-Charset;|Accept-Encoding;|Accept-Language;|Authorization|Expect;|From;|Host;|If-Match;|If-Modified-Since;|If-None-Match;|If-range;|If-Unmodified-Since;|Max-Forwards|Proxy-Authorization;|Range;|Referer;|TE;|User-Agent;


entity-header= Allow;|Content-Encoding;|Content-Language;|Content-Length;|Content-Location;|Content-MD5;|Content-Range;|Content-Type;|Expires;|Last-Modified;|extension-header

extension-header = message-header

message-body = entity-body