HTTP MIME type 和 Encoding type | 数据类型、语言类型头字段

MIME type 和 Encoding type

HTTP 报文携带的数据类型用MIME type表示。
MIME type 主要类别:

  • text:文本格式的可读数据,常见的是 text/html ,表示超文本文档,还有纯文本 text/plain、样式表 text/css 等。
  • image:图像文件,有 image/gif、image/jpeg、image/png 等。
  • audio/video:音频和视频数据,例如 audio/mpeg、video/mp4 等。
  • application:数据格式不固定,可能是文本也可能是二进制,必须由上层应用程序来解释。常见的有 application/json,application/javascript、application/pdf 等,如果实在是不知道数据是什么类型,就会是 application/octet-stream,代表不透明的二进制数据。

但是 HTTP 在传输时为了节约带宽,可能压缩数据,数据的压缩格式用Encoding type表示。
Encodeing type:

  • gzip:GNU zip 压缩格式。
  • deflate:zlib(deflate)压缩格式。
  • br:一种专门为 HTTP 优化的新压缩算法(Brotli)。

HTTP 报文主体中,客户端用 Accept 头标记客户端支持的数据相关格式,告诉服务器它希望接受什么样的数据,而服务器用 Content 头告诉客户端实际发送的数据。

数据类型相关头字段

  • 数据类型
    • Accept 期望接受的数据类型
    • Content-Type 实际发送的数据类型

注意,不只是请求报文才使用 Content-Type,响应报文在POST请求时也会使用此字段。

  • 压缩格式
    • Accept-Encoding
    • Content-Encoding

语言类型相关头字段

语言类型指的是人类使用的自然语言,例如汉语、英语、日语等。
语言类型:

  • en 表示任意的英语
  • en-US 表示美式英语
  • en-GB 表示英式英语
  • zh-CN 就表示我们最常使用的汉语

关于自然语言的计算机处理还有一个更麻烦的东西叫做“字符集”。刚开始有很多种字符集,同样的一段文字,用一种编码显示正常,换另一种编码后可能就会变得一团糟。所以后来出现了 Unicode 和 UTF-8,把世界上所有的语言都容纳在一种编码方案里,遵循 UTF-8 字符编码方式的 Unicode 字符集也成为了互联网上的标准字符集。utf-8 是编码方案,Unicode是字符集。

  • 语言类型
    • Accept-Language 标记可理解的自然语言
    • Content-Language 实际使用的自然语言
  • 字符集
    • Accept-charset 标记可接受的字符集

字符集字段 Accept-charset 在响应头里没有对应的字段,而是在 Content-Type 字段的数据类型后面用“charset=xxx”来表示

Accept-Charset: gbk, utf-8
Content-Type: text/html; charset=utf-8
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值