15.1 报文与实体
来源:互联网 发布:linux 打开vim编辑器 编辑:程序博客网 时间:2024/06/07 18:54
- HTTP 要确保它所承载的“货物”满足以下条件:
- 可以被正确地识别(通过 Content-Type 首部说明媒体格式,Content- Language 首部说明语言),以便浏览器和其他客户端能正确处理内容;
- 可以被正确地解包(通过 Content-Length 首部和 Content-Encoding 首部);
- 是最新的(通过实体验证码和缓存过期控制);
- 符合用户的需要(基于 Accept 系列的内容协商首部);
- 在网络上可以快速有效地传输(通过范围请求、差异编码以及其他数据压缩方法);
- 完整到达、未被篡改(通过传输编码首部和 Content-MD5 校验和首部)。
- 为了实现这些目标,HTTP 使用了完善的标签来描述承载内容的实体。
报文是箱子,实体是货物
- 如果把 HTTP 报文想象成因特网货运系统中的箱子,那么 HTTP 实体就是报文中实际的货物。
- 报文实体由实体首部和实体主体组成,实体首部描述了 HTTP 报文的内容,实体主体中就是货物:
- 实体首部:任何其他描述性的信息都包含在首部中,用来描述实体主体中数据的意义。首部介绍见3.5 首部。
- 实体主体:实体主体中就是原始货物(如果有 Content-Encoding 首部的话,实体主体的内容就已经被指定的内容编码算法进行过编码了,第一个字节就是编码(比如,压缩)后的货物的第一个字节)。
- 首部字段以一个空白的 CRLF 行结束,随后就是实体主体的原始内容。不管内容是什么,文本或二进制的、文档或图像、压缩的或未压缩的、英语、法语或中文,都紧随这个 CRLF 之后。
- 下图展示了两个实际的 HTTP 报文的例子。一个携带着文本实体,另一个承载的是图像实体。十六进制的数值中展示的是报文的实际内容:
- a 中,实体主体从第 65 个字节开始,紧随首部末尾的 CRLF。实体主体中包含了“Hi! I’m a message!”这句话的 ASCII 编码字符。
- b 中,实体主体从第 67 字节开始。实体主体包含了一个 GIF 格式图像的二进制内容。GIF 文件以 6 个字节的版本标志开头,后面是 16 位的宽度和 16 位的高度。可以在实体主体中直接看到这 3 项内容。
阅读全文
0 0
- 15.1 报文与实体
- HTTP的请求报文与响应报文
- HTTP请求报文与响应报文
- HTTP系列(六):报文实体和编码
- xml格式报文的拼装,和解析成实体类
- 关于java实体在xml报文和json报文之间的相互转换
- RIPv1报文与工作原理
- HttpClient发送文件与报文
- WebService soap报文请求与响应报文解析
- 实体集与属性
- 实体继承与关系
- 实体类与电梯
- 房价与实体经济
- dataset与实体类
- 实体与值对象
- Linq DataContext与实体
- 浅谈三层与实体
- 程序实体与关键字
- Android Studio 3.0更新项目报错处理方案
- jQuery语法
- PHP生成加减算法方式的验证码
- 使用@property 改变get和set
- Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
- 15.1 报文与实体
- Subsets
- MySQL分组数据
- 排序算法
- Spring基础_在JavaConfig中引用xml配置<四>
- MySQL索引有啥好处!怎么合理的添加
- Java配置----JDK开发环境搭建及环境变量配置
- yum 升级php版本
- Android的发展历史