HTTP(三)

2020-12-29  本文已影响0人  _1633_

MIME 是一个很大的标准规范,但 HTTP 只“顺手牵羊”取了其中的一部分,用来标记 body 的数据类型,这就是我们平常总能听到的“MIME type”。

常见的

1. text:即文本格式的可读数据,我们最熟悉的应该就是text/html 了,表示超文本文档,此外还有纯文本text/plain、样式表 text/css 等。

2. image:即图像文件,有 image/gif、image/jpeg、image/png 等。

3. audio/video:音频和视频数据,例如 audio/mpeg、video/mp4 等。

4. application:数据格式不固定,可能是文本也可能是二进制,必须由上层应用程序来解释。常见的有application/json,application/javascript、application/pdf 等,另外,如果实在是不知道数据是什么类型,像刚才说的“黑盒”,就会是application/octet-stream,即不透明的二进制数据。

压缩数据 Encoding type

1. gzip:GNU zip 压缩格式,也是互联网上最流行的压缩格式;

2. deflate:zlib(deflate)压缩格式,流行程度仅次于gzip;

3. br:一种专门为 HTTP 优化的新压缩算法(Brotli)。

有了 MIME type 和 Encoding type,无论是浏览器还是服务器就都可以轻松识别出 body 的类型,也就能够正确处理数据了。

    HTTP 协议为此定义了两个 Accept 请求头字段和两个Content 实体头字段,用于客户端和服务器进行“内容协商”。也就是说,客户端用 Accept 头告诉服务器希望接收什么样的数据,而服务器用 Content 头告诉客户端实际发送了什么样的数据。

上一篇 下一篇

猜你喜欢

热点阅读