HTTP报文是什么
HTTP报文,又称为HTTP消息,是服务器和客户端之间交换数据的方式。有两种类型的消息:请求,由客户端发送用来触发一个服务器上的动作;响应,来自服务器的应答。
HTTP消息由采用ASCII编码的多行文本构成。在HTTP/1.1及早起版本中,这些消息通过连接公开地发送。在HTTP/2中,为了优化和性能方面的改进,曾经可人工阅读的消息被分到多个HTTP帧中。
HTTP请求报文
请求报文由以下元素组成:一个HTTP的method、要获取的资源的路径、HTTP协议版本号、为服务端表达其他信息的可选头部headers以及对于一些像POST这样的方法。
HTTP响应报文
响应报文由以下元素组成:HTTP协议版本号、一个状态码、一个状态信息、HTTP headers以及包含获取的资源body。
HTTP消息结构
HTTP请求消息和响应消息具有相似的结构,由以下部分组成:
1、start line:一行起始用于描述要执行的请求,或者是对应的状态,成功或失败。这个起始行总是单行的。
2、HTTP headers:一个可选的HTTP头集合指明请求或描述消息正文。
3、empty line:一个空行指示所有关于请求的元数据已经发送完毕。
4、body:一个可选的包含请求相关数据的正文(比如HTML表单内容),或者响应相关的文档。正文的大小有起始行的HTTP头来指定。
起始行和HTTP消息中的HTTP头统称为“请求头”,而其有效负载被称为“消息正文”。
请求消息与响应消息
- HTTP请求消息:由客户端发送用来触发一个服务器上的动作。
- HTTP响应消息:来自服务器的应答。