1.2. HTTP request
-----------------

First, let's consider this HTTP request :

  Line     Contents
  number
     1     GET /serv/login.php?lang=en&profile=2 HTTP/1.1
     2     Host: www.mydomain.com
     3     User-agent: my small browser
     4     Accept: image/jpeg, image/gif
     5     Accept: image/png


1.2.1. The Request line
-----------------------

Line 1 is the "request line". It is always composed of 3 fields :

  - a METHOD      : GET
  - a URI         : /serv/login.php?lang=en&profile=2
  - a version tag : HTTP/1.1



所有都是通过标准叫做LWS(线性空格)限定的,

这是通常的空格,但是也可以是tabs或者 换行通过空格/tabs返回。



方法本身不能包含任何冒号和被限制为有限的字母。


URI 本身可以有多种形式:


相对URI:


 /serv/login.php?lang=en&profile=2

它是一个完整的URL 没有host部分,这通常是被服务端接收的,反向代理和代理服务器接收


一个绝对URI,被称为URL


http://192.168.0.12:8080/serv/login.php?lang=en&profile=2



它是有一个 scheme(协议名字跟着://),一个主机名和地址,可选的冒号后面跟着端口号,

然后一个相对的URI 第一个斜杠开始 在一个地址部分后面。

一个*:这种形式只接收选项方法相关的不是,它是用于查询下一跳的能力