HTTP 报文的组成部分

HTTP 报文是简单的格式化数据块。如图一所示,每条报文都包含一条来客户端的请求,或者一条来自客户端的响应。它们由三个部分组成:对报文进行描述的起始行start line)、包含属性的首部header)块,以及可选的,包含数据的主体body)部分。

simple_res_msg
图一:HTTP 报文的三个部分

起始行与首部就是由行分隔的 ASCII 文本。每行都以一个由两个字符组成的行终止序列作为结束,其中包括一个回车符(ASCII 码 13)和一个换行符(ASCII 码 10)。这个行终止符可以写作 CRLF。注意:尽管 HTTP 规范中说明应该用 CRLF 来表示行终止,但稳健的做法也应该接受单个换行符作为行的终止。有些老的,或不完整的 HTTP 应用程序并不总是既发送回车符,又发送换行符。

实体的主体或报文的主体是一个可选的数据块。与起始行和首部不同的是,主体中要k以包含文本或二进制数据,也可以为空。

在图一中,首部给出了一些与主体有关的信息。Content-Type 行说明了主体是什么——在这个图中,就是纯文本文档。Content-Length 行说明了主体有多大,在这里就只有 19 个字符。

查看全文