https://www.cnblogs.com/Jeely/p/10977773.html
https://www.jianshu.com/p/5243a7a32f1f
从web客户端发往web服务器的http报文称为请求报文(request message),从服务器发往客户端的报文称为响应报文(response message),此外没有其它类型的http报文。
http请求和响应报文的格式很类似,都包括以下3个部分:
- 起始行(start line)
报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。
- 首部字段(header)
起始后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为了便于解析,两者之间用冒号(:)来分隔。首部以一个空格结束。添加一个首部字段和添加新行一样简单。
- 主体(body)
空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括了要发送给web服务器的数据;响应主体中装载了要返回给客户端的数据。起始行和首部都是文本形式且都是结构化的,而主体则不同,主体中可以包含任意的二进制数据(比如图片、视频、音轨、软件程序)。当然,主体中也可以包含文本。