HTTP报文 & HTTP实体
HTTP报文
HTTP报文是简单的格式化数据块。比如下面的请求报文和响应报文。
起始行和首部 就是由行分隔的ASCII文本。每行都以一个由两个字符组成的行终止序列作为结束,其中包括一个回车符(ASCII码13)和一个换行符(ASCII码10)。这个行终止序列可以写作CRLF。
实体的主体或报文的主体(或者就称为主体)是一个可选的数据块。与起始行和首部不同的是,主体中可以包含文本或者二进制数据,也可以为空。
在上图中的例子中,首部给出了一些与主体有关的信息。Content-Type 行说明了主体是什么——在这个例子中,就是纯文本文档。Content-Length行说明了主体有多大,在这里就只有19个字节。
HTTP实体
HTTP实体的组成:实体首部和实体主体
报文实体的组成:
实体首部:描述了HTTP报文的内容
实体主体:实体主体即原始数据
HTTP实体首部
-
Content-Type
实体中所承载对象的类型。
-
Content-Length
所传送实体主体的长度或大小。
-
Content-Language
与所传送对象最相配的人类语言。
-
Content-Encoding
对象数据所做的任意变换(比如,压缩)。
-
Content-Location
一个备用位置,请求时可通过它获得对象。
-
Content-Range
如果这是部分实体,这个首部说明它是整体的哪个部分。
-
Content-MD5
实体主体内容的校验和。
-
Last-Modified
所传输内容在服务器上创建或最后修改的日期时间。
-
Expires
实体数据将要失效的日期时间。
-
Allow
该资源所允许的各种请求方法,例如,GET和HEAD
-
ETag
这份文档特定实例的唯一验证码。ETag首部没有正式定义为实体首部,但它对许多涉及实体的操作来说,都是一个重要的首部。
-
Cache-Control
指出应该如何缓存该文档。和ETag首部类似,Cache-Control首部也没有正式为实体首部。
HTTP实体主体
首部字段以一个空白的CRLF行结束,随后就是实体主体的原始内容。不管内容是什么,文本或二进制的、文档或图像、压缩的或未压缩的、英语、法语或日语的,都紧随这个CRLF后之后。
===========END===========