HTTP 消息
HTTP 消息是服务器和客户端之间交换数据的方式。有两种类型的消息:请求(request)——由客户端发送用来触发一个服务器上的动作;响应(response)——来自服务器的应答。
HTTP 消息由采用 ASCII 编码的多行文本构成。在 HTTP/1.1 及早期版本中,这些消息通过连接公开地发送。在 HTTP/2 中,为了优化和性能方面的改进,曾经可人工阅读的消息被分到多个 HTTP 帧中。
Web 开发人员或网站管理员,很少自己手工创建这些原始的 HTTP 消息:由软件、浏览器、代理或服务器完成。他们通过配置文件(用于代理服务器或服务器),API(用于浏览器)或其他接口提供 HTTP 消息。
HTTP/2 二进制框架机制被设计为不需要改动任何 API 或配置文件即可应用:它大体上对用户是透明的。
HTTP 请求和响应具有相似的结构,由以下部分组成:
一行起始行用于描述要执行的请求,或者是对应的状态,成功或失败。这个起始行总是单行的。
一个可选的 HTTP 标头集合指明请求或描述消息主体(body)。
一个空行指示所有关于请求的元数据已经发送完毕。
一个可选的包含请求相关数据的主体(比如 HTML 表单内容),或者响应相关的文档。主体的大小有起始行的 HTTP 头来指定。
起始行和 HTTP 消息中的 HTTP 头统称为请求头,而其有效负载被称为消息主体。