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 第一个斜杠开始 在一个地址部分后面。
一个*:这种形式只接收选项方法相关的不是,它是用于查询下一跳的能力