本篇参考了《深入理解计算机系统》的第12章-网络编程
一个完整的http 事务由http请求和http响应组成,其中,
http请求是由请求行(request line)和请求报头(request header)组成,并以一个空的文本行来终止报头列表(这说明报表是可以有多个的)。
http响应是由响应行(response line)和响应报头(response header)和响应主体(response body)组成,同请求报头类似,要终止响应报头的话,就在响应报头列表的后面跟随一个空行来终止。
注意:以下说明中出现的空格都是一个,只是为了更加清晰易读,才使用多个空格
请求行的形式:
<请求方法> <uri> <http版本>
这种形式表明的意思是,以指定的“请求方法”到服务器上的uri指定的位置把相应的资源取回来。http版本应该是为了保持客户端和服务器端之间的http版本兼容性。
例子1:GET /index.html HTTP/1.1
例子2:GET / HTTP/1.0
<uri>在后面会有说明
请求报头的形式:
<报头名称>:<报头数据>
请求报头的作用应该是传输一些用于服务器的信息,比如,服务器需要了解到的客户端信息等。
<