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