HTTP报文有两种:请求报文和响应报文
从 Web 客户端发往 Web 服务器的 HTTP 报文称为请求报文(request message)。
从服务器发往客户端的报文称为响应报文(response message)
简单报文事例:
HTTP 请求和响应报文的格式很类似。基本上都包括:起始行,首部字段,空行, 主体
起始行:报文的第一行就是起始行,
在请求报文中起始行叫请求行,用来说明要做些什么,
在响应报文中起始行叫响应行或者状态行,,用来说明出现了什么情况。
请求行由请求方法、URL和HTTP协议版本3个字段组成,它们用空格分隔, 比如GET /tools.html HTTP/1.1
响应行一般由协议版本、状态码及其状态码的简单描述3个字段组成,它们也用空格分隔 ,比如 HTTP/1.1 200 OK
首部字段:起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为了便于解析,两者之间用冒号(:)来分隔。
空行:分割首部和主体。上面为首部,下面为主体。空行意味着首部的结束。
主体 :空行之后就是可选的报文主体。
起始行和首部都是纯文本形式且都是结构化。
主体包含了所有的数据类型,可以是纯文本,可以是任意的二进制数据(比如图片,视频,音轨,软件程序),还可以为空
请求主体中包括了要发送给 Web 服务器的数据;
响应主体中装载了要返回给客户端的数据。
请求报文结构